免费的 Linux 命令行工具将 SVG 转换为 PDF 和/或一些常用的位图格式?

免费的 Linux 命令行工具将 SVG 转换为 PDF 和/或一些常用的位图格式?

是否有免费的 Linux 命令行工具可以将 SVG 转换为 PDF 和/或一些常用的位图格式(例如 PNG)?

答案1

Imagemagick如果您需要栅格化(像素化)输出(或至少可以接受),则效果很好,但其他情况下则是个糟糕的选择,因为它实际上在 pdf 中嵌入了您要转换的内容的栅格化版本。svg/pdf 的重点在于它可以矢量化,从而尺寸更小,同时在任何分辨率下都保持平滑。

因此,我绝对建议使用Inkscape或者卡里奥SVG。后者有多个专门用于此目的的命令行实用程序(svg2pdfsvg2pssvg2png)。唯一的问题是它基本上只是一个 python egg,所以如果你没有设置 python 环境并且不够精明(或不够关心)来设置一个,那么这个选项就行不通了。我自己试过了,但在设置所需的环境时遇到了问题libcairo(不是我试过的难的)。

Inkscape 很棒,但是如果你只想用一个简单的命令来完成所有工作,那么它的 CLI 就有点笨重了。我整理了几个小脚本来帮我处理这一切:

svg转pdf

#!/bin/bash

for i in $@; do
  inkscape --without-gui --export-pdf="$(basename $i .svg).pdf" $i
done

SVG转PNG

#!/bin/bash

for i in $@; do
  inkscape --without-gui --export-png="$(basename $i .svg).png" $i
done

将第一个输入进去~/bin/svg2pdf,将第二个输入进去~/bin/svg2png,运行chmod +x它们使它们可执行,然后轰隆隆!你有一个快速简便的快捷方式来执行这些经常需要的操作,不需要你思考或记住 Inkscape 的 CLI 是如何工作的。(显然,你需要先安装 Inkscape 才能运行)

答案2

图像魔法, 和Inkscape还有命令行工具。

答案3

Inkscape

转换为 PDF:

inkscape -A a.pdf a.svg

至 PNG:

inkscape -e a.png a.svg

发现于man inkscape如何在命令行模式下使用 Inkscape

答案4

据我所知,有一种方法可以通过 cmd 操作 Inkscape - 我已经使用类似的方法从我的大量 SVG 集合中批量导出 PNG 缩略图。由于 Inkscape 还支持通过 Cairo 导出 PDF,因此也应该可以导出 PDF。我会在 Inkscape 论坛上询问。:-)

相关内容