Édo*_*pez 9 command-line svg inkscape
我在cli no(--without-gui或-z)中使用Inkscape :
hanzi,pinyin)选择多个节点;test-union-cli.svg).所以我用这个命令:
inkscape -z -f ./?-x45A0.svg \
--select=hanzi --select=pinyin \
--verb SelectionUnion --verb FileSaveCopyAs \
--verb=FileClose test-union-cli.svg
Run Code Online (Sandbox Code Playgroud)
**(inkscape:27462):CRITICAL*:Inkscape :: XML :: Document sp_repr_read_file(const gchar*,const gchar*):断言`Inkscape :: IO :: file_test(filename,G_FILE_TEST_EXISTS)'失败
**(inkscape:27462):CRITICAL*:Inkscape :: XML :: Document sp_repr_read_file(const gchar*,const gchar*):断言`Inkscape :: IO :: file_test(filename,G_FILE_TEST_EXISTS)'失败
**(inkscape:27462):警告**:无法打开指定的文档test-union-cli.svg(不存在或不是有效的SVG文件)
该文件test-union-cli.svg不应该存在.那么我在这里做错了什么?
Édo*_*pez 10
-z或--without-gui.当被问到#inkscape时,current(Inkscape 0.48.3.1 r9886 (Jan 29 2013))不支持动词的参数:
动词不带参数 - >你不能保存用'-f'打开的文件,用不同的名称先复制文件(例如在脚本中),然后编辑并保存复制的文件
有关此主题的错误已确认(请参阅:错误:提供可保存文件的脚本化方法).
当前的动词(有稳定的)总是需要打开GUI(即使不需要交互)
错误已确认允许在使用--verb选项并添加到whishlist 时禁止GUI(-z).
较新版本的Inkscape可以解决这个"问题",目前你可以通过这样做来解决它
cp ?-x45A0.svg test-union-cli.svg && inkscape -g -f ./test-union-cli.svg \
--select=hanzi --select=pinyin --verb=SelectionUnion \
--verb=FileSave --verb=FileClose
Run Code Online (Sandbox Code Playgroud)
改进正在进行中lp:~7-eric/inkscape/effectscript:
在这里阅读修订版12388的提交日志 https://code.launchpad.net/~7-eric/inkscape/effectscript - 最近合并到trunk中,AFAIU允许通过cli运行boolops动词而不用GUI - >可能是下一个主要版本的inkscape(0.49)将有更好的cli支持