使用Inkscape命令行将SVG转换为PNG失败

24

我感觉自己一定是做错了什么傻傻的事情,但就是无法让它工作。这是我从命令提示符中运行的命令:

inkscape.com "C:\path\ship.svg" -e --export-png="C:\Path\ship.png" --without-gui

作为回报,我收到:

警告:文件路径“--export-png=C:\path\ship.png”包含不存在的目录。

该目录确实存在。我错过了什么?

3个回答

28

应该使用-e--export-png之一,而不是两者都使用,因为它们的意思相同。

但是,根据文档-e--export-png已经不再可用。你应该使用-o--export-filename=FILENAME。并且仍然只能使用其中一个,因为-o只是--export-filename的快捷方式。

inkscape "C:\path\ship.svg" -o "C:\path\ship.png"
或者
inkscape "C:\path\ship.svg" --export-filename="C:\path\ship.png"

不确定为什么对我不起作用。虽然我使用的是Mac OS。 - GeneCode
嗨@GeneCode,我从未在Mac上工作过,所以我不知道,但是InkScape维基上有一页描述了有关文件路径的一些问题和解决方案。也许那会有所帮助? https://wiki.inkscape.org/wiki/index.php/Mac_OS_X - GolezTrol
1
我终于在我的Mac上设法让它工作了。使用最新的Inkscape V1.0版本。如果有人感兴趣,我也写了一篇博客。 https://xcodenoobies.blogspot.com/2020/08/how-to-automation-export-png-in.html - GeneCode
2
在我的 Mac 上,它运作正常。 也许您需要指定完整路径,在我的情况下是 /Applications/Inkscape.app/Contents/MacOS/inkscape 您也可以将其添加到路径中,或者创建一个符号链接到应用程序 ln -s /Applications/Inkscape.app/Contents/MacOS/inkscape /usr/local/bin/inkscape - Richnou

13
2021年的最新消息:
inkscape \
    --export-width=128 \
    --export-type=png \
    --export-filename="C:\path\ship.png" \
    "C:\path\build.svg"

如果你想要透明的PNG图像,可以添加--export-background-opacity=0
inkscape \
    --export-background-opacity=0 \
    --export-width=128 \
    --export-type=png \
    --export-filename="C:\path\ship.png" \
    "C:\path\build.svg"

这两个编程示例在功能上是相同的。第二个示例重复了两次声明“--export-background-opacity=0”。您是否打算让这些示例展示出某些不同之处? - l --marc l
1
我想我只是简单地复制/粘贴并未能成功地编辑帖子。已经修正,谢谢。 - Marcin Orlowski

1
在 Inkscape 1.0.2 版本中,以下命令将起作用:
inkscape --export-type="png" myfile.svg --export-filename=myfile.png

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接