How to save SVG file with Inkscape CLI?

后端 未结 1 1953
死守一世寂寞
死守一世寂寞 2021-02-14 03:07

I\'m working with Inkscape in cli no (--without-gui or -z) to :

  1. Select multiple nodes by id (hanzi, pinyin) ;
1条回答
  •  [愿得一人]
    2021-02-14 03:50

    tl;dr

    1. You can't save to a different file than the one open. So edit a copy ;
    2. Verb need the GUI, don't use -z or --without-gui.

    Verbs don't take parameters

    Asked on #inkscape and it come out that currently (Inkscape 0.48.3.1 r9886 (Jan 29 2013)) doesn't support verb's parameters:

    verbs do not take arguments -> you cannot save a file you opened with '-f' under a different name copy the file first (e.g. in the script), and edit and save the copied file

    There is a bug confirmed on this topic (see: Bug:Provide scriptable method of saving files).

    Verb imply GUI

    verbs currently (with stable) always require to open the GUI (even if no interaction is required)

    Bug is confirmed Allow suppressing the GUI (-z) when using --verb option(s) and added to whishlist.

    Temporary Solution

    Newer version of Inkscape may fix this "issue", currently you can solve it by doing

    cp 䖠-x45A0.svg test-union-cli.svg && inkscape -g -f ./test-union-cli.svg \
        --select=hanzi --select=pinyin --verb=SelectionUnion \
        --verb=FileSave --verb=FileClose
    

    Hope (v.049)

    Improvement is on its way lp:~7-eric/inkscape/effectscript:

    read the commit log of revision 12388 here https://code.launchpad.net/~7-eric/inkscape/effectscript - this was merged into trunk recently, and AFAIU allows to run boolops verbs via cli without GUI -> likely the next major version of inkscape (0.49) will have better cli support

    0 讨论(0)
提交回复
热议问题