【发布时间】:2012-03-07 22:39:39
【问题描述】:
类似于Convert SVG to PDF中的方法 svg2pdf 转换在 windows 下成功运行,文本项可在生成的 pdf 中搜索。它也在 linux (Ubuntu) 下生成 pdf(使用 -Djava.awt.headless=true 以避免由于缺少 X11 窗口服务器而导致的异常),但文本项不可搜索,有时甚至编码为图像。
linux下是否也可以保留pdf中的文本,我是否缺少一些运行时选项?
UPD:如果找不到某些字体,我能否以某种方式强制 batik(SVGGraphics2D 或 SVGConverter)回退到默认字体?
【问题讨论】:
-
奇数。两台机器上的所有字体都可用吗?您尝试使用标准 PDF 字体(Times New Roman,...)还是使用自定义 TrueType 字体?
-
@AaronDigulla 我不控制字体,因为它们来自随机排序的 pptx 文件。循环为:pptx->svg_files->pdf_files->one_pdf_file。但字体可用性是我首先关心的问题。我可以以某种方式从 win->linux 框中复制字体吗?
-
来自(@Rok Kralj 建议的)imagemagick 的 'identify -list format' cmd 我可以看到 TrueType 字体集合完全从我的 linux 机器中丢失了。这似乎是蜡染的问题
-
我认为 AWT 不会将文本原语发送到 Batik 而是发送路径,这就是您找不到文本的原因。这样做的一个原因可能是确保所有系统上的外观相同,而字体(商业化)无法保证这一点。也许这种行为有一个 AWT 开关。
-
这将有助于在 Linux 服务器和 java 应用程序中提供缺少的 TTF 字体:stackoverflow.com/questions/17993130/…。