В моем приложении я попаду на одну страницу, там будет текст, и мне нужно открыть PDF на той же странице и сравнить текст в PDF и совпадения на главной странице.
Я использую pdfbox -1.8.15
Но когда я запускаю следующий код, получаю это исключение:
Исключение в ветке "main" java.io.IOException:
Ошибка: конец файла, ожидаемая строка в
org.apache.pdfbox.pdfparser.BaseParser.readLine (BaseParser.java:1523) в
org.apache.pdfbox.pdfparser.PDFParser.parseHeader (PDFParser.java:372) в
org.apache.pdfbox.pdfparser.PDFParser.parse (PDFParser.java:186) в
TestCases.lastpdf.main (lastpdf.java:83)
driver.findElement(By.xpath("//*[@id=\"ctl00_cph_main_rg_QiSummaries_ctl00__0\"]/td[2]/img")).click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
String winHandleBefore = driver.getWindowHandle();
for(String winHandle : driver.getWindowHandles()){
//Switch to child window
driver.switchTo().window(winHandle);
}
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
URL url = new URL(driver.getCurrentUrl());
System.out.println(url);
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
String mypdftxt;
BufferedInputStream fileToParse = new BufferedInputStream(url.openStream());
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
PDFParser parser = new PDFParser(fileToParse);
parser.parse(); // exception occurs here
mypdftxt = new PDFTextStripper().getText(parser.getPDDocument());
System.out.println(mypdftxt);