有没有办法将其他字体样式添加到 Apache Pdfbox 中?
我们目前正在尝试解决在我们的系统中打印 PDF 的问题(目前正在使用PDF渲染器 https://java.net/projects/pdf-renderer.)我一直在寻找各种替代方案(pdfbox http://pdfbox.apache.org/, jpedal http://www.jpedal.org/, jPDF打印 http://www.qoppa.com/pdfprint/)
我们希望有一个免费的 GPL 兼容库可供使用,因此我们倾向于 pdfbox。我已经能够编写一些示例代码来打印“有效”的pdf。见下文:
PDDocument doc;
try {
doc = PDDocument.load("test.pdf");
doc.print();
} catch (Exception e) {
// Come up with better thing to do on fail.
e.printStackTrace();
}
正如我提到的,这可行,但我遇到的问题是 PdfBox 似乎无法识别 pdf 中使用的字体,因此会更改所使用的字体。结果,文档看起来很奇怪(间距和字符大小不同,看起来很奇怪)。我经常看到以下日志消息或类似的内容:
2014 年 4 月 16 日下午 2:56:21 org.apache.pdfbox.pdmodel.font.PDSimpleFont 绘制字符串
警告:将 上的字体从 更改为默认字体
有谁知道如何将新字体类型添加到 pdfbox 中的方法(或参考)?或者除此之外,如何更改默认字体类型?
据我所知,pdfbox 支持14种标准字体 http://pdfbox.apache.org/cookbook/workingwithfonts.html。不幸的是 NimbusMono 不是其中之一。任何指导将不胜感激。
未发布的2.0版本支持嵌入字体的渲染。您可以将其作为快照获取https://repository.apache.org/content/groups/snapshots/org/apache/pdfbox/ https://repository.apache.org/content/groups/snapshots/org/apache/pdfbox/或通过“svn checkouthttp://svn.apache.org/repos/asf/pdfbox/trunk/ http://svn.apache.org/repos/asf/pdfbox/trunk/“。API 与 1.8.x 版本略有不同,并且可能会发生变化,最好是查看代码示例。快速测试您的文件是否会正确呈现是下载“pdfbox-app”https://repository.apache.org/content/groups/snapshots/org/apache/pdfbox/pdfbox-app/2.0.0-SNAPSHOT/ https://repository.apache.org/content/groups/snapshots/org/apache/pdfbox/pdfbox-app/2.0.0-SNAPSHOT/然后运行查看器:
java -jar pdfbox-app-2.0.0-20140416.173452-273.jar PDFReader 你的文件名.pdf
还有打印功能。
祝你好运!
2016年更新:2.0版本已发布,请下载here https://pdfbox.apache.org/download.cgi。
如果您使用过1.8版本,请阅读迁移指南 https://pdfbox.apache.org/2.0/migration.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)