java.lang.ClassCastException:com.itextpdf.text.pdf.PdfNull无法强制转换为com.itextpdf.text.pdf.PdfDictionary

时间:2015-02-24 12:56:13

标签: java pdf itext

尝试使用iText PdfReader读取字节数组时出现异常,

以下是我的代码,我可以在Acrobat reader中打开此文件

PdfReader reader = new PdfReader(bFile);

例外:

java.lang.ClassCastException: com.itextpdf.text.pdf.PdfNull cannot be cast to com.itextpdf.text.pdf.PdfDictionary at com.itextpdf.text.pdf.PdfReader$PageRefs.iteratePages(PdfReader.java:3712) at com.itextpdf.text.pdf.PdfReader$PageRefs.iteratePages(PdfReader.java:3743) at com.itextpdf.text.pdf.PdfReader$PageRefs.readPages(PdfReader.java:3548) at com.itextpdf.text.pdf.PdfReader$PageRefs.<init>(PdfReader.java:3518) at com.itextpdf.text.pdf.PdfReader$PageRefs.<init>(PdfReader.java:3496) at com.itextpdf.text.pdf.PdfReader.readPages(PdfReader.java:1142) at com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:659) at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:176) at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:244) at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:234)

我使用iText 5.4.4,我在google搜索中找不到太多细节。它看起来PDF有一些问题,无法得到什么问题。以下是PDF

的摘录
%PDF-1.5
%âãÏÓ
1 0 obj
<<
/Type /Catalog
/Lang (en-US)
/StructTreeRoot 39 0 R
/MarkInfo <<
/Marked true
>>
/Pages 187 0 R
/AcroForm 350 0 R
/OCProperties 2131 0 R
/Outlines 2531 0 R
/OpenAction <<
/Type /Action
/S /GoTo
/D [ 3 0 R /XYZ 0 792 0 ]
>>
/ViewerPreferences <<
/HideToolbar false
/HideMenubar false
/HideWindowUI false
/FitWindow false
/CenterWindow false
>>

更新:调试后我发现/Pages 187 0 R是问题所在。如果我改为/Pages 2 0 R那么它就可以了。有些人可以帮助我/Pages指的是什么?

0 个答案:

没有答案