我找不到如何打开新的使用 Inkscape 编辑 .svg 文档,只需从终端即可。
如果作为参数(或通过)指定的文档-f
不存在,则会出现一个错误提示它不存在,然后它会打开一个未保存的新文档。
我尝试使用这样的动词,FileSaveAs
例如:
inkscape --verb FileSaveAs mynewfile.svg
但是 FileSaveAs 不接受参数,它只是为此操作打开图形窗口。
我可能有点挑剔,但我发现直接从命令行创建新文件更方便,而不必启动此窗口并单击正确的目录......
答案1
令我惊讶的是,Inkscape 中似乎没有从 cli 生成新文件的选项!
如何创建选项?
与往常一样,如果不存在,可以这样做:
- 打开
Inkscape
,创建一个新文件drawing.svg
- 将此文件保存在任何位置
将以下代码复制到一个空文件中,将其另存为
newinkscape
(无扩展名)~/bin
。如果目录尚不存在,请创建该目录。#!/bin/bash sample="/path/to/drawing.svg" dr=$1 cp "$sample" "$dr" inkscape "$dr"
使脚本可执行
替换该行:
sample="/path/to/drawing.svg"
该路径为示例文件的路径。
现在注销并重新登录:
newinkscape /path/to/newfile.svg
将打开一个新的空Inkscape
文件,保存在您在命令中使用的位置。
答案2
好吧,多年来我一直在思考这个问题(特别是因为touch mynewfile.svg; inkscape mynewfile.svg
原因InkscapeApplication::document_open: Failed to open: /path/to/mynewfile.svg ; ConcreteInkscapeApplication::on_open: failed to create document!
)——最后,在咨询https://wiki.inkscape.org/wiki/index.php/Using_the_Command_Line, 我找到了:
inkscape --without-gui --actions="file-new; export-area-page; export-filename:test.svg; export-do;"
例如在 Ubuntu 18.04 下测试:
$ inkscape --version
Inkscape 1.0.1 (1.0.1+r73)
Pango version: 1.40.14
$ ls -la test.svg
ls: cannot access 'test.svg': No such file or directory
$ inkscape --without-gui --actions="file-new; export-area-page; export-filename:test.svg; export-do;" 2>/dev/null && ls -la test.svg
-rw-r--r-- 1 user user 1134 Sep 15 05:53 test.svg
$ cat test.svg
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg10"
width="100%"
height="100%"
viewBox="-1 -1 1 1">
<metadata
id="metadata16">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs14" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="480"
id="namedview12" />
</svg>
答案3
使用 Inskcape 1.0:
inkscape --actions="file-new;export-filename:output.svg;export-do"
或者,如果您愿意,您可以为新文件使用模板:
inkscape --actions="file-new:template.svg;export-filename:output.svg;export-do"