Снимки экрана из файла PDF с Apache PDFBox - PullRequest
0 голосов
/ 06 января 2020

Я использую 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...