【问题标题】:Inkscape tries to open DXF as SVGInkscape 尝试将 DXF 作为 SVG 打开
【发布时间】: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 导入对话框。

【问题讨论】:

    标签: docker inkscape


    【解决方案1】:

    你的 Inkscape 版本是什么?

    当我尝试通过命令行导入 dxf 文件时,我得到一个图形用户界面对话框,询问我有关导入参数的信息。抑制 GUI 在这里不起作用。这需要一个 GUI。

    -z 参数在这里不起作用,并且(似乎)被忽略(这是 Inkscape 0.92.x,稳定的开发分支)。对话框打开,我单击确定,然后正在创建输出文件。

    我认为这不会像您希望的那样起作用。

    选项 1:

    有一个脚本,dxf2svg,似乎可以从 sourceforge 和 github 上的多个来源获得,在这里可能会更有用。

    选项 2:

    或者您可以使用直接执行 dxf 导入的 Inkscape 扩展:

    Convert DXF to SVG in Inkscape CLI while keeping layers

    它似乎使用对话框的默认参数,因此您可能需要稍微调整它们以适应您的图纸。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-08
      相关资源
      最近更新 更多