我需要为测试验证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)