Java Pdfbox-找不到PDType0Font.load的符号

Java Pdfbox-找不到PDType0Font.load的符号,java,apache,pdfbox,Java,Apache,Pdfbox,我试图解决这个问题已经有一段时间了。我的程序使用了最新的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.p

我试图解决这个问题已经有一段时间了。我的程序使用了最新的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文件以确认该方法是否存在,并且尝试了其他方法,例如将字体初始化为PDType0Font的实例,而不是接口PDFont。同样的错误。我已经尝试导入网站为2.0.7提供的每一个JAR。飞行前,xmpbox,pdfbox工具,pdfbox调试器和我仍然得到相同的错误。我已经尝试从pdmodel和pdmodel.font包中导入每个类。同样的错误。其他一切都很好——这只是一种特殊的方法。最初我使用PDTrueTypeFont而不是PDType0Font,它很好。但是我必须切换到PDType0Font,因为有外来字符


编辑:已解决。原来我的类路径中有一个过时的Tika JAR正在创建冲突,并将PDFBox恢复到1.8.13版。

这个问题已经解决。结果发现我的类路径中存在冲突。我有一个非常过时的Tika JAR,里面有PDFBox 1.8,所以我将Tika更新为最新版本,不再有问题。感谢Tilman Hausherr提出的解决方案


是否在类路径中有一个旧的.jar文件?尝试添加异常e=new COSVisitorExceptionnew Exception;。如果这个版本有效,那么就意味着类路径中有一个1.8版本,而你不应该


问题可能就在您使用的环境中?您正在使用哪个项目建筑系统?你能附上重现问题的整个样本项目吗?也许是一个看不见的打字错误?请尝试再次键入该代码行。另一种可能是,您的类路径中有一个过时或损坏的pdfbox库。。。尝试删除它并再次加载,或者如果您正在使用maven,请删除您的存储库;在IDE中启动一个新项目;删除IDE的缓存。顺便说一句,我是根据经验说的。。。我让Netbeans发生了这种情况。删除Netbeans缓存有帮助。不幸的是,我没有使用Maven,也没有使用IDE,所以我怀疑这是缓存问题。我的开发环境是由公司的DBA创建的,但本质上是从两个文件夹中获取JAR。我不能附上整个样本项目,因为这将违反公司政策:至于一个坏掉的pdfbox库,我已经下载了很多次,并且下载了不同的库,但仍然得到相同的问题。可能是因为在您的类路径中有一个旧的.jar文件吗?尝试添加异常e=new COSVisitorExceptionnew Exception;。如果这个版本有效,那么就意味着类路径中有一个1.8版本,不应该!。