首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.svg到.dxf (使用Inkscape?)

.svg到.dxf (使用Inkscape?)
EN

Stack Overflow用户
提问于 2017-09-21 03:16:23
回答 1查看 1.8K关注 0票数 4

对于一个项目,我需要自动转换大量的.svg-files到.dxf-files进行进一步的处理。

情况:一个目录中有大量的.svg-files,应该转换成.dxf (不管.dxf文件在同一个目录还是在一个子文件夹中,dxf名称都应该是svg名称)

我可以使用Inkscape GUI做到这一点,Inkscape GUI也可以在CAD程序中导入.dxf文件,但如前所述,我需要将其自动化。(到目前为止,我只用Python编写)。

我的想法是:我通过命令行打开Inkscape中的文件。可以通过具有以下代码的命令在png-format中导出:

代码语言:javascript
复制
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?据我所知没有。

EN

回答 1

Stack Overflow用户

发布于 2017-09-23 00:41:28

我想出了一个稍有不同的解决方案,但仍然找到了所需的.dxf-files。

代码语言:javascript
复制
def eps_to_dxf():
    eps_list = [i for i in os.listdir(eps_directory) if ".eps" in i]
    work_directory = "C:\Program Files\pstoedit"

    for i in eps_list:
        input_file = i.split(".")[0]
        output_file = input_file + ".dxf"
        cmdline = "pstoedit -f dxf_s " + eps_directory + i + " " + eps_directory + output_file
        subprocess.check_call(cmdline, cwd=work_directory, shell=True)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46330122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档