Невозможно открыть PDF-файл с помощью itext 7.0.0 из-за исключения NullPointerException, созданного PdfDocument

Когда я пытаюсь открыть 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.


person Biggert    schedule 11.08.2016    source источник


Ответы (1)


Ваш документ имеет поврежденное дерево структуры или дерево тегов. Вы также можете проверить, что Acrobat (или любой другой просмотрщик PDF) показывает, когда вы открываете теги. Когда вы нажимаете на тег, читатель не может найти контент, соответствующий этому тегу.

Я не думаю, что вы сможете открыть этот документ без исключения в iText 7.0.0, но эта проблема уже исправлена ​​(теперь печатаются только ошибки регистратора, а исключение не создается), и исправление будет доступно в 7.0.1 . Или вы можете проверить текущую версию снимка, если вам нужно исправление раньше.

person Alexey Subach    schedule 12.08.2016