【发布时间】:2014-10-21 13:41:47
【问题描述】:
我正在使用 Inkscape 将单页 PDF 文件转换为 SVG 文件(在 Windows 上)。
PDF 中的所有文本都已成功转换,并且显示在页面上的内容与输入内容完全相同,但空格除外。 SVG 文件看起来与输入文档相同,因为文本通过 'tspan' 元素中的 'x' 属性正确定位,但 tspan 的内部文本没有 PDF 中的空白。
例如,如果我在 PDF 中突出显示这三个单词并粘贴它们,它们会显示为:
Associated MET Office
但是,在生成的 SVG 中,我得到了这个:
<tspan
x="0 5.0025001 8.7524996 12.5025 16.672501 20.422501 22.0875 26.2575 28.342501 32.512501 38.48 44.727501 49.73 56.110001 61.945 64.029999 66.114998 67.779999 71.529999"
y="0"
id="tspan940">AssociatedMETOffice</tspan>
我正在使用参数从命令行转换 PDF:
-z --export-plain-svg
因此,空格似乎在 PDF 中,但被 Inkscape 删除了。我徒劳地搜索了一个保留空格的命令行选项,这样的选项存在吗?
【问题讨论】:
-
从 PDF 复制和粘贴文本不一定反映 PDF 内部的内容;文本片段可以带有“仅用于复制”的专门标记。 PDF 查看器中的复制例程也可能将两个字符之间的一些较大的水平移动识别为 Inkspace 没有的空间。老实说,没有看到 PDF 就只能进行推测(如果您知道,则必须与 Inkscape 的程序员交谈)。
-
请分享PDF进行分析。
-
mkl 要求提供源 PDF。可以在这里找到:ead.eurocontrol.int/eadbasic/…
-
此 PDF 包含放置在绝对位置上的文本字符串
(Associated)、(MET)、(Office)。因此,它需要严格(和准确)分析来检测它实际上是一个由空格分隔的字符串——它们不会出现在文件中。这一定是 Inkscape 和/或其 SVG 导出中的错误或疏忽。 -
@Jongware 感谢您的帮助。鉴于您所说,我希望 SVG 生成 3 个 tspan 而不是 1 个(但仍然缺少空格,因为它们不在文本中PDF)。我将与构建 PDF 的人一起讨论这个问题,并在 Inkscape 错误跟踪器上报告错误。如果您发表评论作为答案,我会接受。再次感谢。