繁体   English   中英

java.lang.NoSuchMethodError: 'org.apache.pdfbox.pdmodel.PDDocument org.apache.pdfbox.p'd

[英]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.

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