如何裁剪SVG?

Cer*_*rin 4 linux svg command-line

如何从 SVG 文件中裁剪所有空白空间,特别是从命令行?

我有几个 SVG 文件格式为标准 A2 字母文档大小,我需要批量裁剪它们,以便它们的视图框与其内容的最小边界框相同。

我可以在 Inkscape 中使用“将页面大小调整为选择”选项来执行此操作,但我看不到从命令行访问此功能的任何方法。

小智 5

尝试:

inkscape --batch-process \
  --verb "EditSelectAll;FitCanvasToSelection;FileSave;FileQuit" \
  filename.svg
Run Code Online (Sandbox Code Playgroud)

在 Mac OS 下,以下命令行有效:

inkscape -g --verb="FitCanvasToDrawing;FileSave;FileQuit" filename.svg
Run Code Online (Sandbox Code Playgroud)

请注意,如果我提供三个不同的--verb选项(这是其他答案推荐的),则它不起作用(可能只执行了最后一个动词)。


小智 4

看起来“调整页面大小以选择”选项可以通过命令行使用!在这里查看: https://shkspr.mobi/blog/2013/03/inkscape-cropping-svg-files-on-the-command-line/

inkscape --verb=FitCanvasToDrawing --verb=FileSave --verb=FileQuit *.svg
Run Code Online (Sandbox Code Playgroud)

(用于FileClose旧版本的 Inkscape。)

  • 但它警告:“警告:忽略动词 FitCanvasToDrawing - 该动词需要 GUI。” (2认同)