Получение java.lang.NoSuchMethodError при попытке получить текст из PDF - PullRequest
0 голосов
/ 10 апреля 2019

Мне нужно проверить файлы PDF для моего теста. Для этого мне нужно GetText, Image из PDF-файла и сравнить с ожидаемым файлом. Но при получении текста я получаю исключение java.lang.NoSuchMethodError. Здесь я использую пакет PDFUtil, ниже приведен фрагмент кода и сведения об исключении.

Я уже добавил файл jar pdfbox-2.0.14 и fontbox-2.0.14 в мой путь сборки. Но все же я получаю исключение.

Пожалуйста, покажите мне, где я делаю неправильно.

открытый класс 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);  
}

}

Исключение:

Исключение в потоке "main" 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) at test.pdfFile.PDFUtilTest1.main (PDFUtilTest1.java:21)

...