为了一个项目,我需要自动将大量的 .svg
文件转换为 .dxf
文件,以便进一步处理。
情况:一个包含许多 .svg
文件的目录,应该将它们转换为 .dxf
(无论 .dxf
文件是在同一目录中还是在子文件夹中,.dxf
文件名都应该与 .svg
文件名相同)
我可以使用 Inkscape 图形用户界面完成这个任务,并且可用于将 .dxf
文件导入 CAD 程序,但正如上面提到的,我需要自动化这个过程。 (到目前为止,我只用 Python 写过代码)
我的想法是通过命令行在 Inkscape 中打开这些文件。可以使用以下代码通过命令行将其导出为 png
格式:
from subprocess import call
import os
svg_dir = "C:\\temp\\layers\\"
files = [svg_dir + i for i in os.listdir(svg_dir) if ".svg" in i]
dir = r"C:\Program Files\Inkscape"
for i in files:
cmdline = "Inkscape -z -f "+ i +" -e "+ i + ".png"
rc = call("start cmd /K " + cmdline, cwd=dir, shell=True)
但我不太了解Inkscape扩展。我只知道我需要在扩展目录中有dxf_outlines.py/.inx
。我总是需要相同的导出选项,所以我能否只重写Python代码,然后通过Inkscape命令运行它呢?
还是说有没有不需要像Python中的Inkscape这样的额外软件的解决方案?据我所见,好像没有。