Программирование командной строки Inkscape - PullRequest
7 голосов
/ 11 марта 2012

Я хотел бы иметь возможность получать новые изображения из ранее существующего изображения из командной строки. Чтобы сделать это, я бы включил / выключил определенные слои с частями изображения, а затем сохранил полученное изображение в файл. Однако, хотя я вижу несколько команд, перечисленных в справке для управления слоями, я не вижу ни одной, которая позволила бы выбрать конкретную команду и включить / выключить ее.

Ответы [ 2 ]

7 голосов
/ 08 мая 2012

Если то, что вы хотите сделать, может быть достигнуто путем удаления нескольких нежелательных элементов по их идентификатору (скажем, layer17 и layer4711), вы можете сделать это следующим образом:

inkscape image.svg \
  --select=layer17   --verb=EditDelete \
  --select=layer4711 --verb=EditDelete \
  --verb=FileSave --verb=FileClose

Обратите внимание, что это перезапишет image.svg результатом, поэтому, если вы пишете сценарий, обязательно работайте с копией, а не с оригиналами.

3 голосов
/ 25 февраля 2013
inkscape image.svg --export-id-only --export-id=layer17 --export-png=image.png --export-width=100 --export-height=100

На Mac вам может потребоваться:

/Applications/Inkscape.app/Contents/Resources/bin/inkscape --without-gui --file=image.svg --export-id-only --export-id=layer17 --export-png=image.png --export-width=100 --export-height=100
...