java PDFBox IOException:文件结尾,预期行
我目前正在尝试从一个已经上传的PDF中获取文本,并通过使用PDFBox和Selenium的链接进行访问。 我用它作为一个来源:http://www.seleniumeasy.com/selenium-tutorials/how-to-extract-pdf-text-and-verify-using-selenium-webdriver-java
public String function(String pdf_url) {
PDFTextStripper pdfStripper = null;
PDDocument pDoc;
COSDocument cDoc;
String parsedText = "";
try {
URL url = new URL(pdf_url);
BufferedInputStream file = new BufferedInputStream(url.openStream());
PDFParser parser = new PDFParser(file);
parser.parse();
cDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdfStripper.setStartPage(1);
pdfStripper.setEndPage(1);
pDoc = new PDDocument(cDoc);
parsedText = pdfStripper.getText(pDoc);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return parsedText;
}
Error: End-of-File expected line
at org.apache.pdfbox.pdfparser.BaseParser.readLine(BaseParser.java:1519)
at org.apache.pdfbox.pdfparser.PDFParser.parseHeader(PDFParser.java:372)
at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:186)
at scripts.Script.grabPDF_Text(Script.java:94)
at scripts.Script.main(Script.java:817)
为什么我会犯这个错误
# 1 楼答案
请检查两个文件的大小是否为0 KB 或 您可以使用try(final PDDocument document=PDDocument.load(file,MemoryUsageSetting.setupTempFileOnly())进行检查{
# 2 楼答案
下面是您要求使用PDFURL共享的示例
要将PDF用作本地文件,URL和BufferedInputStream需要替换为
希望这有帮助