批量转换 svg 为 pdf 页面大小

Batch convert svg to pdf page size

我有许多使用 inkscape 创建的 svg 文件,其中包含非标准字体的文本。据我了解,为了打印它们,我需要将文本转换为路径。好像我只要用

convert input.svg output.pdf

文本会自动转换为路径。这是正确的吗?

但是我的问题是页面大小。输入 svg 的页面大小为 A5,横向。然而,转换后的 pdf 似乎在图像的右侧和底部被剪切了图像的大约 5% width/height。

这是为什么?我该如何解决?

只要您的系统上有 Inkscape,ImageMagick convert 实际上会将 PDF 导出委托给 Inkscape。您可以直接在命令行中使用它作为

inkscape -zA output.pdf input.svg

引自man

Used fonts are subset and embedded.

有一些操作导出区域的选项。 -C 明确设置页面区域,-D 绘图边界框。

您甚至可以使用

保留 SVG 格式
inkscape -Tl output.svg input.svg

这会将文本转换为路径。

最近,由于您必须批处理多个文件,您应该使用

打开一个 shell
inkscape --shell

一次性处理所有文件。否则,inkscape 的启动时间将为每个文件 1-3 秒。类似于:

ls -1 *.svg | awk -F. \
    '{ print "-AC "  ".pdf" [=13=] }
    END { print "quit" }' | \
    inkscape --shell