【问题标题】:How to convert SVG text to SVG paths?如何将 SVG 文本转换为 SVG 路径?
【发布时间】:2020-05-15 04:24:41
【问题描述】:

我有 SVG 文件(由 com.spire.pdf 创建),这个 SVG 是从 pdf 文件创建的(使用 iText lib 从 html 创建的 pdf 文件)。

所以我需要将此 SVG 转换为带有另一个标签(路径)的 SVG,或将 SVG 转换为 PDF。

我的例子中的所有标签都是这样的:<text style="fill:#000000;font-family:Arial;font-weight:bold;" font-size="10" x="36" y="46.21002" letter-spacing="-0.075">2020</text>

我找到了 lib,可以通过这个参数在我可以转换的地方(inkscape)--export-text-to-path 使我的 SVG 文件无法选择文本。

我的最终目标是需要 PDF 文件,无法从那里选择文本。 (就像它是从图像创建的一样)。

有没有办法将 SVG“文本”文件转换为 SVG“图像”文件或 pdf?

Inkscape 不适合我,因为我想用 Java 代码(Spring Boot 应用程序)来做它

【问题讨论】:

  • “我的最终目标是需要 PDF 文件,无法从那里选择文本。”文本是否必须保持矢量?如果没有,那么您可以将 HTML 或 PDF 转换为图像。另外,为什么使文本不可选择很重要?稍后可以使用 OCR 来获取大部分文本。
  • @Ryan 我尝试使用图像(png 或 jpg),但缩放后有一个像素,并且文件大小比我需要的大得多。所以SVG对于这种情况是最好的方式。 “为什么使文本不可选择很重要” - 我想将此文件用于一些解析服务,例如 Sovren,它解析文件并从那里检索信息。最后,我将添加另一个可选的不可见信息层。您可以在此处找到此类文件的示例:[docdro.id/qphnWF8]
  • @Ryan 大多数解析工具只是从文件中获取可选文本并解析此文本。所以我想让我的文件更好地被这个工具解析。如果我只留下 html 文本或 SVG 文本标签,resume 的结构不利于这个外部服务的解析,所以现在有 2 层的解决方案效果最好。
  • “将此文件用于某些解析服务,例如 Sovren,用于解析文件并从中检索信息。”那么你不想保留文本吗?他们还接受哪些其他格式? PDF? JSON? XML? “所以现在有 2 层的解决方案效果最好。”这是带有不可见文本的 SVG?
  • @Ryan nope,由 创建的 SVG 或图像(png 或 jpeg)是可见层,并且该层中的所有文本都应该是不可选择的。不可见层它只是 html 代码(默认情况下可以在 pdf 中选择)。在上面的示例中,只需执行 CTRL + A,您将看到无法复制的 SVG 图层,而不可见图层可以。这里还有一个链接:[docdroid.net/qphnWF8/…

标签: java pdf svg converters


【解决方案1】:

目前,我只找到一个可以执行的库:带有 --export-text-to-path 参数的inkscape。

Inkscape 在几个线程中工作,并且可以从 java 运行。转换速度很慢,导出文件的大小取决于 inkscape 的版本。

【讨论】:

    猜你喜欢
    • 2011-12-06
    • 2014-12-23
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 2019-04-14
    • 2019-08-26
    相关资源
    最近更新 更多