java - 由于 PdfDocument 引发的 NullPointerException,无法使用 itext 7.0.0 打开 PDF

标签 java pdf adobe itext7

当我尝试在此链接打开 pdf 时,http://www.health.state.mn.us/divs/hpsc/hep/merc/ctfapp2015b.pdf ,使用 itext,我得到一个带有以下堆栈跟踪的 NullPointerException:

NullPointerException   com.itextpdf.kernel.pdf.tagging.ParentTreeHandler.registerMcr (ParentTreeHandler.java:154)
java.lang.NullPointerException
    at com.itextpdf.kernel.pdf.tagging.ParentTreeHandler.registerMcr(ParentTreeHandler.java:154)
    at com.itextpdf.kernel.pdf.tagging.ParentTreeHandler.registerAllMcrs(ParentTreeHandler.java:246)
    at com.itextpdf.kernel.pdf.tagging.ParentTreeHandler.<init>(ParentTreeHandler.java:101)
    at com.itextpdf.kernel.pdf.tagging.PdfStructTreeRoot.<init>(PdfStructTreeRoot.java:78)
    at com.itextpdf.kernel.pdf.PdfDocument.open(PdfDocument.java:1299)
    at com.itextpdf.kernel.pdf.PdfDocument.<init>(PdfDocument.java:199)

我的代码很简单:

(new PdfDocument(new PdfReader "blah.pdf"));

这个 PDF 有什么问题吗?是否需要传递某些类型的标志才能打开它?

编辑:使用 iText 7.0.0 时会发生这种情况。

最佳答案

您的文档有损坏的结构树或标签树。您还可以检查打开标签时 Acrobat(或任何其他 PDF 查看器)显示的内容。当你点击一个标签时,阅读器无法找到该标签对应的内容。

我认为您无法在 iText 7.0.0 中无一异常(exception)地打开此文档,但此问题已得到修复(现在仅打印记录器错误且不会抛出异常),修复程序将在7.0.1。或者,如果您需要尽快修复,可以查看当前的快照版本。

关于java - 由于 PdfDocument 引发的 NullPointerException,无法使用 itext 7.0.0 打开 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38907595/

相关文章:

java - 多页面方向 - Adob​​e Postscript 工具

javascript - 如何抑制 `This document is trying to print. Do you want to allow this?`

java - 在 Dropwizard/JPA/Hibernate 中自动重试事务/请求

java - 使用 Java 中的 Pig/Piglatin 在 HBase 中排序

java - 检查 PDF 查看器小程序是否正在运行

python - 如何覆盖 Python 当前正在读取的文件

iphone - 使用 CGPDFScanner 解析 CMap 流

javascript - After Effects Extendscript - 更改 addlight 的中心点

java - 如何在 thymeleaf 中验证我的注册表?

java - 从UML到Java,简单关联