我使用的是ApachePDFBOx2.x版本,我试图读取一个临时创建的文件。下面是我创建并读取临时文件的代码:
Path mergedTempFile = null;
try {
mergedTempFile = Files.createTempFile("merge_", ".pdf");
PDDocument pdDocument = PDDocument.load(mergedTempFile.toFile());
但它给出了错误:
java.io.IOException: Error: End-of-File, expected line
at org.apache.pdfbox.pdfparser.BaseParser.readLine(BaseParser.java:1098)
at org.apache.pdfbox.pdfparser.COSParser.parseHeader(COSParser.java:2577)
at org.apache.pdfbox.pdfparser.COSParser.parsePDFHeader(COSParser.java:2560)
at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:219)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1099)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1082)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1006)
at com.howtodoinjava.demo.PdfboxApi.test(PdfboxApi.java:326)
at com.howtodoinjava.demo.PdfboxApi.main(PdfboxApi.java:317)
从这个链接,我得到了一个参考,但它没有帮助无论如何:类似的问题链接
请帮帮我。不过,我还是摆脱不了这个。
1条答案
按热度按时间t98cgbkg1#
PDDocument.load(...)
用于分析现有pdf。传递的临时文件(
mergedTempFile
)是空的,因此例外。创建一个PDDocument
使用构造函数(驻留在内存中),然后使用PDDocument.save(...)
.