我在 Inkscape 中创建了大约 150 个 SVG 文件。是否有可以将所有这些导出到多个 PDF 或 PNG 文件的实用程序?
单独导出太耗时,所以我想知道是否可以使用一些实用程序/软件批量导出。
窗户首选。
我在 Inkscape 中创建了大约 150 个 SVG 文件。是否有可以将所有这些导出到多个 PDF 或 PNG 文件的实用程序?
单独导出太耗时,所以我想知道是否可以使用一些实用程序/软件批量导出。
窗户首选。
对于那些因为这个问题引用Inkscape 但没有用 Windows 标记而从谷歌搜索登陆的人,这里有一个完整的 Linux 操作指南(假设您在系统上安装了 Inkscape - 在 Ubunut 14.04 和 Inkscape 0.91 上进行了测试)。
在要将 SVG 转换为 PDF的目录中创建一个文件。(我gedit
在下面使用过,但您不妨将其替换为您选择的文本编辑器)
gedit convertSVGtoPDF.sh
将以下代码粘贴到里面
#!/bin/bash
mkdir "$PWD"/pdf
for file in $PWD/*.svg
do
filename=$(basename "$file")
inkscape "$file" -d 1200 -A "$PWD"/pdf/"${filename%.svg}.pdf"
done
您可以通过修改选项后的值来调整所需的输出分辨率-d
。
保存文件。
现在使这个脚本可执行
sudo chmod +x convertSVGtoPDF.sh
并在包含 SVG的目录中执行它
./convertSVGtoPDF.sh
这将创建一个名为pdf的新文件夹,您可以在其中找到嵌入字体的 PDF。
快乐的水墨画!
从Inkscape Wiki转换为/从 SVG 转换的其他一些选项工具:
您可以使用 Inkscape 的命令行界面( inkscape --without-gui --export-pdf=myfile.pdf myfile.svg
) 执行此操作,然后使用批处理文件、shell 脚本或构建工具(例如 Make、Rake 或 Grunt)在整个文件列表上自动运行。
在查看了多个站点后,我发现了一种仅使用一个命令行的简单方法。
我以前从未使用过命令行,但经过一些实验后,我得到了以下解决方案:
for /f "tokens=1* delims=." %i in ('dir /b *.svg') do "C:\Program Files\Inkscape\inkscape.exe" --without-gui --file="%i.svg" --export-emf="%i.emf"
分解它:
for
for 是对多个文件执行操作的命令。它的结构类似于:对于“特定条件下的文件”执行“特定命令”
/f "tokens=1* delims=." %i in ('dir /b *.svg')
这就是“条件”。就我而言,我正在寻找所有 SVG 文件,但它当然适用于其他格式。所有这些“花哨”的代码所做的就是将扩展之前的文件名存储在变量“%i”中。这在命令中很有用。
do
这就是您将在所有文件中执行的操作。
"C:\Program Files\Inkscape\inkscape.exe" --without-gui --file="%i.svg" --export-emf="%i.emf"
这与上面使用的 Marnen Laibow-Koser 相同的命令。我是一个新手,我不知道你如何使用“inkscape”,所以我已经把所有的方式放到了 .exe 中。
最后一部分是我们使用变量来指示程序应该选择哪个文件以及如何导出。
同样,我将 SVG 导出为 EMF,但只需将其更改为您想要的。这就是为什么变量如此重要的原因。所以你可以保持相同的名字,只是改变扩展名。
不要忘记使用引号,因为您的文件的名称中可以有一些空格。
当然,您还需要位于文件所在的文件夹中。如果您也是新手,请执行以下操作:
C:\
它会将您置于正确的驱动器中。
CD "path"
它将带您到特定文件夹。您可以使用 Windows 资源管理器并单击右键并将路径复制为文本。
而已。我是新手,所以这样做可能会更有效,但这会奏效。
最后提示:如果您正在处理大量文件,您可以使用 CTRL + C 停止命令行,如果它不能正常工作,然后再试一次。