【发布时间】:2023-03-26 08:50:02
【问题描述】:
我正在尝试自动将 Autocad DXF 转换为 SVG 文件,并发现 Inkscape CLI 可用于此目的。
我使用的命令是:
inkscape -z -l output.svg -f input.dxf
-z: 没有 gui | -l:导出纯 SVG | -f: 输入文件
当我在 Ubuntu 18.04 上运行此命令时,转换成功,但是,当我在 docker 容器(源自 Alpine + RUN apk --no-cache add inkscape)中运行此命令时,我收到以下错误:
input.dxf:1: 解析器错误:需要开始标签,'
** (inkscape:18): WARNING **: 指定的文档 input.dxf 无法打开(不存在或不是有效的 SVG 文件)
看起来 Inkscape 正试图将 DXF 文件作为 SVG 文件打开并失败,因为它需要类似 XML 的输入(DXF 文件不包含类似 XML 的标签)。
我尝试使用以下方法将其转换为 PDF:
inkscape -z -A output.pdf -f input.dxf
-z: 没有 gui | -A:导出 PDF | -f: 输入文件
但错误是完全一样的。
有人知道如何进一步调试此场景吗?
更新
我还必须提到,我通过删除 <param /> 块修改文件 dxf_input.inx 来禁用 DXF 导入对话框。
【问题讨论】: