我使用Apache PDFBox 2.0.2和FontBox 1.8.5。我试图将文本写入PDF文档,但我一直得到同样的例外:
Caused by: java.lang.ClassNotFoundException: org.apache.fontbox.type1.DamagedFontException
在堆栈跟踪下面,它显示以下内容:
// Create new document and page
PDDocument doc = new PDDocument();
PDPage page = new PDPage();
doc.addPage(page);
PDFont font = PDType1Font.HELVETICA_BOLD; // The exception is thrown here
// Write to document
PDPageContentStream stream = new PDPageContentStream(doc, page);
stream.beginText();
stream.setFont(font, 12);
stream.drawString(pdfText);
stream.endText();
我正在使用NetBeans,并且正确地为PDFBox和FontBox添加了JAR - 使用其功能的其他所有内容都可以正常工作。相关的代码段:
{{1}}
它实际上是PDFBox Hello World示例的一个释义副本,所以我无法理解问题所在。有什么建议吗?
答案 0 :(得分:3)
我正在使用Apache PDFBox 2.0.2和FontBox 1.8.5。
...
并正确添加了PDFBox和FontBox的JAR
不,你没有正确添加它。使用PDFBox 2.0.2和FontBox 2.0.2,而不是1.8.5(两年前)。或者,下载包含两者的PDFBox应用程序。更好的是,使用maven来处理依赖关系。