我正在编写一个将 PDF 文档呈现为图像的 Java 应用程序,当我在 Windows 上运行它时它工作正常。但是当我在 Linux 上渲染 PDF 时,标准字体看起来有点乱码,好像某些字符的右侧会丢失一些像素。
我只在全新安装的带有 OpenJDK 6 的 Ubuntu 9.04 上对其进行了测试,但我很确定我之前在 Linux 上看到过类似的问题。我还尝试使用其他 Java PDF 应用程序打开 PDF,例如 SwingLabs PDFRenderer 和 IcePDF Demo Applet,它们也遇到了同样的问题。在 Windows 上,它们都可以很好地呈现文档。我还在同一台 Ubuntu 机器上使用默认的 PDF 查看器 evince 打开了该文档。Evince 在没有字体问题的情况下渲染了文档,所以我很确定这是一个一般的 Java + Linux 问题。
比较:
此图像是在 Windows 上渲染的。
此图像是在 Linux 上渲染的。我用红圈标记了几个乱码。
这个也是在 Linux 上渲染的。看起来只有标准字体受到影响。
任何帮助表示赞赏。