繁体   English   中英

Pdfbox-找不到PDType0Font.load的符号

[英]Pdfbox - Cannot find symbol for PDType0Font.load

我已经尝试解决这个问题一段时间了。 我的程序具有最新的PDFBox(2.0.7)和FontBox(2.0.7),但是无论我做什么,我都会遇到相同的编译错误。

在本课程中,这是我的相关导入:

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDTrueTypeFont;
import org.apache.pdfbox.pdmodel.font.PDType0Font;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.apache.pdfbox.pdmodel.common.PDRectangle;

我正在尝试使用以下示例设置字体:

PDDocument pdfDoc = new PDDocument();
PDPage page = new PDPage();
pdfDoc.addPage(page);

PDPageContentStream contents = new PDPageContentStream(pdfDoc, page);
PDFont font = PDType0Font.load(pdfDoc, new File("/path/to/font/Roboto-Regular.ttf"));
contents.setFont(font, 20);

不幸的是,正如我所说,每次都会出现以下编译错误:

 error: cannot find symbol
 PDFont font = PDType0Font.load(pdfDoc, new File("/path/to/font/Roboto-Regular.ttf"));
 symbol:   method load(PDDocument,File)
 location: class PDType0Font

我已经多次看过Javadocs,我打开了JAR文件以确认该方法是否存在,并且我尝试了其他方法,例如将“ font”初始化为PDType0Font的实例而不是接口。 PDFont。 同样的错误。 我尝试导入网站为2.0.7提供的每个JAR。 (Preflight,xmpbox,pdfbox-tools,pdfbox-debugger),我仍然遇到相同的错误。 我尝试从pdmodel和pdmodel.font包中导入每个类。 同样的错误。 其他所有东西都可以正常工作-这只是一种特定的方法。 最初,我使用PDTrueTypeFont代替PDType0Font,这很好。 但是由于外来字符,我不得不切换到PDType0Font。

编辑:解决。 原来我的类路径中的过时的Tika JAR正在产生冲突,并将PDFBox还原到1.8.13版。

此问题已得到解决。 事实证明,我的课程路径有冲突。 我有一个非常过时的Tika JAR,其中包含PDFBox 1.8,所以我已经将Tika更新到最新版本,不再有问题。 感谢Tilman Hausherr建议的解决方案。

可能是您的类路径中有一个旧的.jar文件吗? 尝试添加异常e = new COSVisitorException(new Exception());。 如果该方法有效,则表明您的类路径中有一个1.8版本(您不应该!)

Pdfbox-找不到PDType0Font.load的符号

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM