Я не могу найти, как открыть новый svg документ с Inkscape, просто от терминала.
Если документ, указанный как аргумент (или через -f
) не существует, существует только ошибка при высказывании, что она не существует, и затем она открывает несохраненный новый документ.
Я пытался использовать глагол FileSaveAs
как это, например:
inkscape --verb FileSaveAs mynewfile.svg
но FileSaveAs не берет аргументы, он просто открывает графическое окно для этого действия.
Я мог бы быть дотошным, но я найду более удобным смочь создать новый файл непосредственно из командной строки вместо того, чтобы иметь необходимость запустить это окно и щелчок к правильному каталогу...
К моему удивлению, кажется, нет никакой опции в 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
файл, сохраненный в месте, которое Вы использовали в команде.
Ну, я много лет думал об этом же (особенно с тех пор, как touch mynewfile.svg; inkscape mynewfile.svg
вызывает InkscapeApplication::document_open: Не удалось открыть: /path/to/mynewfile.svg ; ConcreteInkscapeApplication::on_open: не удалось создать документ!
) - и, наконец, после консультации 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>