我想将文件夹C:\Users\Eric\Desktop\svg
中的多个SVG文件转换为名称为[SVG File Name].svg.png
的512x512 PNG文件。
我尝试了以下命令:
for /f %f in ('dir /b "C:\Users\Eric\Desktop\svg"') do inkscape -z -e %f.png -w 512 -h 512 %f
命令行正确检测SVG文件并通过它们,但Inkscape说明如下:
C:\Users\Eric\Desktop\inkscape>inkscape -z -e [SVG File Name].svg.png -w 512 -h 512 [SVG File Name].svg
** (inkscape.exe:8412): WARNING **: Can't open file: [SVG File Name].svg (doesn't exist)
** (inkscape.exe:8412): WARNING **: Can't open file: [SVG File Name].svg (doesn't exist)
** (inkscape.exe:8412): WARNING **: Specified document [SVG File Name].svg cannot be opened (does not exist or not a valid SVG file)
我在普通的Inkscape程序中打开了一个文件,它运行良好。
答案 0 :(得分:0)
对于SVG到PNG的转换,我发现cairosvg(https://cairosvg.org/)的性能优于ImageMagick。在目录中的所有文件上安装和运行的步骤。
pip3 install cairosvg
在包含.svg文件的目录中打开python shell并运行:
import os
for file in os.listdir('.'):
name = file.split('.svg')[0]
cairosvg.svg2png(url=name+'.svg',write_to=name+'.png')
这也将确保您不会覆盖原始的.svg文件,但会保留相同的名称。然后,您可以将所有.png文件移动到另一个目录:
$ mv *.png [new directory]