【发布时间】:2015-08-25 07:59:40
【问题描述】:
我正在使用 Apache PDFBox 来呈现 PDF 文档的缩略图。因此,我加载 PDF 并将第一页用作缩略图。问题是,对于一个特定的文档,它似乎没有正确加载。对于所有其他文档,它按预期工作。
ByteArrayInputStream is = new ByteArrayInputStream(pdfData);
PDDocument pdf = PDDocument.load(is, true);
List<PDPage> pages = pdf.getDocumentCatalog().getAllPages(); //pages is empty here
pdf 文件有 238 页,大小约为 6.5 MB。
【问题讨论】:
-
试试 loadNonSeq(is,null) - 那么它可以工作吗?
-
谢谢,loadNonSeq 有效。由于我没有找到任何文档,您是否知道,如果使用 loadNonSeq 代替 load,是否会对性能产生重大影响?
-
可能是。 issues.apache.org/jira/browse/PDFBOX-2860 但是 nonSeq 解析器是正确的。旧的在 2.0 版本中不再存在。然而,大部分时间都花在了渲染上,而不是解析上(取决于图像的大小)。
-
好的,谢谢,那我就用loadNonSeq去观察性能。
-
我已经添加了一个答案,所以这个问题不是孤立的。