提问人:contributor 提问时间:10/28/2023 更新时间:10/29/2023 访问量:49
PDFBox 版本 3.0.0 拆分器类 NullPointerException 在 org.apache.pdfbox.cos.COSArray.getIndirectObjectKeys(COSArray.java:768
PDFBox Version 3.0.0 Splitter class NullPointerException at org.apache.pdfbox.cos.COSArray.getIndirectObjectKeys(COSArray.java:768
问:
PDFBox 版本 3.0.0 请帮忙。尝试拆分 pdf 文件并引发异常: java.lang.NullPointerException 在 org.apache.pdfbox.cos.COSArray.getIndirectObjectKeys(COSArray.java:768)
它在这一行失败的原因是:coseBase 为 null,这就是 getKey() 失败的原因。
应该有一个 null 测试来防止这种情况。
objects 数组包含:
[null, COSName{XYZ}, COSFloat{80.787}, COSFloat{686.677}, COSNull{}] 766:for (COSBase cosBase : objects) 767: { 768: COSObjectKey cosBaseKey = cosBase.getKey();
此外,第 748 行的 getIndirectObjectKeys 方法仅检查 null,并且我正在拆分 indirectObjects 数组的 pdf 文件不是 null 而是空;即 [] 代码应该测试空虚,而不仅仅是无效。
746:public void getIndirectObjectKeys(List<COSObjectKey> indirectObjects) 747: { 758: if (indirectObjects == null)
这里的问题是 PDFBox Splitter 类代码。
有什么办法可以规避这个问题吗? 非常感谢您的帮助
我正在尝试拆分 pdf 文件
答:
我可以确认第 768 行中第一个报告的问题。恕我直言,第二个不会发生,因为只有没有空值被添加到相关列表中。
我已经创建了票证 https://issues.apache.org/jira/browse/PDFBOX-5707。如果可用,请为第二期添加样本 pdf。我很高兴从上面纠正我的陈述;-)
评论