尝试从PDF获取文本时获取java.lang.NoSuchMethodError

时间:2019-04-10 03:33:38

标签: java pdfbox

我需要为测试验证PDF文件。为此,我需要从PDF文件中获取GetText,Image并与预期文件进行比较。但是在获取文本时,我正在获取java.lang.NoSuchMethodError异常。这里我使用的是PDFUtil软件包,下面是代码片段和异常详细信息。

我已经将pdfbox-2.0.14和fontbox-2.0.14 jar文件添加到了我的构建路径中。但是我还是异常。

请指导我哪里做错了。

公共类PDFUtilTest1 {

public static void main(String[] args) throws IOException {
    PDFUtil pdfutil = new PDFUtil();
    int actual = pdfutil.getPageCount("C:/DBS Auto/Finacle_Regression_Auto/Quadient_POC/src/resources/sample1.pdf");
    int expected = pdfutil.getPageCount("C:/DBS Auto/Finacle_Regression_Auto/Quadient_POC/src/resources/sample2.pdf");


    String file1 = "C:/DBS Auto/Finacle_Regression_Auto/Quadient_POC/src/resources/sample1.pdf";
    String file2 = "C:/DBS Auto/Finacle_Regression_Auto/Quadient_POC/src/resources/sample2.pdf";
    pdfutil.getText(file1);
    pdfutil.getText(file2);


    String file11 = "C:/DBS Auto/Finacle_Regression_Auto/Quadient_POC/src/resources/sample1.pdf";
    String file21 = "C:/DBS Auto/Finacle_Regression_Auto/Quadient_POC/src/resources/sample2.pdf";
    pdfutil.setCompareMode(CompareMode.TEXT_MODE);
    boolean result = pdfutil.compare(file11, file21);

    String file12 = "C:/DBS Auto/Finacle_Regression_Auto/Quadient_POC/src/resources/sample2.pdf";
    String file22 = "C:/DBS Auto/Finacle_Regression_Auto/Quadient_POC/src/resources/sample2.pdf";
    pdfutil.setCompareMode(CompareMode.VISUAL_MODE);
    pdfutil.setCompareMode(CompareMode.VISUAL_MODE);
    boolean result1 = pdfutil.compare(file12, file22);  
}

}

例外:

线程“主”中的异常java.lang.NoSuchMethodError:org.apache.fontbox.ttf.TrueTypeFont.getUnicodeCmapLookup(Z)Lorg / apache / fontbox / ttf / CmapLookup;     在org.apache.pdfbox.pdmodel.font.PDCIDFontType2。(PDCIDFontType2.java:145)     在org.apache.pdfbox.pdmodel.font.PDCIDFontType2。(PDCIDFontType2.java:62)     在org.apache.pdfbox.pdmodel.font.PDFontFactory.createDescendantFont(PDFontFactory.java:125)     在org.apache.pdfbox.pdmodel.font.PDType0Font。(PDType0Font.java:192)     在org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:83)     在org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:146)     在org.apache.pdfbox.contentstream.operator.text.SetFontAndSize.process(SetFontAndSize.java:60)     在org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:869)     在org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:505)     在org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:479)     在org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:152)     在org.apache.pdfbox.text.LegacyPDFStreamEngine.processPage(LegacyPDFStreamEngine.java:139)     在org.apache.pdfbox.text.PDFTextStripper.processPage(PDFTextStripper.java:391)     在org.apache.pdfbox.text.PDFTextStripper.processPages(PDFTextStripper.java:319)     在org.apache.pdfbox.text.PDFTextStripper.writeText(PDFTextStripper.java:266)     在org.apache.pdfbox.text.PDFTextStripper.getText(PDFTextStripper.java:227)     在com.testautomationguru.utility.PDFUtil.getPDFText(PDFUtil.java:236)     在com.testautomationguru.utility.PDFUtil.getText(PDFUtil.java:192)     在test.pdfFile.PDFUtilTest1.main(PDFUtilTest1.java:21)

0 个答案:

没有答案