Я использую pdfbox
для генерации изображений со всех страниц файла PDF
. Файл указан в URL.
public String Pdf2Image(String html, WebDriver driver){
URL url=new URL(GlobalVariable.url);
HttpURLConnection connection=(HttpURLConnection)url.openConnection();
InputStream is=connection.getInputStream();
PDDocument document = PDDocument.load(is);
PDFRenderer pdfRenderer = new PDFRenderer(document);
for (int page = 0; page < document.getNumberOfPages(); ++page) {
BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
ImageIOUtil.writeImage(bim, GlobalVariable.fileAzon + "-" + (page+1) + ".png", 300);
}
document.close();
}
. Он не работает для файлов PDF, текстовое содержимое которых не может быть скопировано и печать отключена. Я получаю следующее сообщение об ошибке во время выполнения. Я не смог получить InputStream
.
ОБНОВЛЕНИЕ: Файл примера: http://aplaidshirt.epizy.com/samplePDF.pdf
org.codehaus.groovy.runtime.InvokerInvocationException: java.io.IOException: Error: End-of-File, expected line
at com.pdf.reader.ReadPdfFromBrowser.invokeMethod(ReadPdfFromBrowser.groovy)
at com.kms.katalon.core.main.CustomKeywordDelegatingMetaClass.invokeStaticMethod(CustomKeywordDelegatingMetaClass.java:50)
at print.run(print:10)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:337)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1578260748461.run(TempTestCase1578260748461.groovy:23)
Caused by: java.io.IOException: Error: End-of-File, expected line
at org.apache.pdfbox.pdfparser.BaseParser.readLine(BaseParser.java:1124)
at org.apache.pdfbox.pdfparser.COSParser.parseHeader(COSParser.java:2603)
at org.apache.pdfbox.pdfparser.COSParser.parsePDFHeader(COSParser.java:2574)
at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:219)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1222)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1122)
at org.apache.pdfbox.pdmodel.PDDocument$load.call(Unknown Source)
at com.pdf.reader.ReadPdfFromBrowser.Pdf2Image(ReadPdfFromBrowser.groovy:72)
... 14 more