[英]ClassNotFoundException: org.apache.pdfbox.pdmodel.PDDocument
[英]java.lang.NoSuchMethodError: 'org.apache.pdfbox.pdmodel.PDDocument org.apache.pdfbox.pdmodel.PDDocument.load(byte[])'
我的项目以前使用 pdfbox 1.7 依赖项。 然后我切换到 2.0.25,我收到以下错误。
java.lang.NoSuchMethodError: 'org.apache.pdfbox.pdmodel.PDDocument org.apache.pdfbox.pdmodel.PDDocument.load(byte[])'
检查 lib 的 class 路径和 jar 可以验证 class 具有该方法,但错误仍在继续。
下面是一个代码片段,我在其中尝试读取 pdf 的页面。
public static void analyseImageEntirePagePdfAto(byte[] sourcePdf) throws Throwable{
PDDocument docAto = PDDocument.load(sourcePdf);
int p = 0;
PDPageTree pageTree = docAto.getPages();
for (PDPage pagina : pageTree){
p++;
PDFTextStripper reader = new PDFTextStripper();
reader.setStartPage(p);
reader.setEndPage(p);
String pageText = reader.getText(docAto);
if (pageText != "" && pageText != null){
System.out.println("Página " + String.valueOf(p) + " contém o texto: " + pageText.substring(0,20) + "...");
} else {
System.out.println("Página não contém o texto.");
}
PDResources pdResources = pagina.getResources();
int qtdImg = 0;
for (COSName c : pdResources.getXObjectNames()){
PDXObject o = pdResources.getXObject(c);
if (o instanceof PDImageXObject){
qtdImg++;
PDImageXObject i = (PDImageXObject) o;
System.out.println(" Imagem " + String.valueOf(qtdImg) + " possui medidas: h - " + String.valueOf(i.getHeight()) + " w - " + String.valueOf(i.getHeight()));
}
}
}
}
感谢您的评论。 我通过手动删除旧库暂时解决了我的问题,在目录 C:\TOMCAT\apache-tomcat-8.0.32\wtpwebapps\mp-diariooficial\WEB-INF\lib
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.