itextsharp NullReferenceException(页面参考)

itextsharp NullReferenceException(页面参考),exception,pdf,itextsharp,nullreferenceexception,Exception,Pdf,Itextsharp,Nullreferenceexception,我正在使用itextsharp 5.4.2打开一个pdf文档库(所有文档都是使用相同的pdf生成工具以编程方式生成的,尽管该工具的版本可能不同)。itextsharp对所有文档都可以正常工作,但有一个文档会引发异常(该文档在acrobat pdf reader中可以正常打开): 我还试图在iText RUPS 5.4.2中打开同一文档,在“读取交叉引用表”时出现以下错误: 我不能提供pdf文档(客户信息),也不能“修复”pdf文档(第三方)。如果我不必钻研iTextSharp的源代码,我是否会幸

我正在使用itextsharp 5.4.2打开一个pdf文档库(所有文档都是使用相同的pdf生成工具以编程方式生成的,尽管该工具的版本可能不同)。itextsharp对所有文档都可以正常工作,但有一个文档会引发异常(该文档在acrobat pdf reader中可以正常打开):

我还试图在iText RUPS 5.4.2中打开同一文档,在“读取交叉引用表”时出现以下错误:

我不能提供pdf文档(客户信息),也不能“修复”pdf文档(第三方)。如果我不必钻研iTextSharp的源代码,我是否会幸运地发现上面的信息足以让某人修改iTextSharp来处理这个问题(我怀疑文档存在真正的问题,但看起来iTextSharp可以像pdfreader一样解决这个问题?)

PDF字节(66500-66600=>103c4-10428;我刚刚在ultra edit中打开了PDF。PDF是压缩的吗?是来自压缩流的错误消息的字节计数还是未压缩的?)

000103c0h:06 A8 4E 51 B9 1A EC 18 21 D5 08 10 95 96 06 E6。¨不必客气。!Õ..•–.æ
000103d0h:B9 65 30 30 B0 25 00 B9 40 0A 2A C4 96 01 11 49;imk e00°%.imk@.-I
000103e0h:4B 83 CA 29 29 A9 65 40 9C 05 94 07 B3 81 A2 A1;(KƒÊ)©eœ

000103f0h:A1 78 3C 04 04 DA 0C 8C 71 91 40 5A 18 88 45 C1;“xAs表示无效的对象编号。在文件指针66562处-也许您可以提取该偏移量周围的字节,例如从66500到66600?我提取了字节-请让我知道我是否做对了…您想提取103c4-10428,但您确实提取了1030-104f…更新了字节。该死那些不断变化的十六进制惯例。不管旧的$prefix发生了什么。好的,在提到的索引处甚至附近都没有对象号。因此,任何将文档作为一个整体进行解析的尝试都可能失败。因此,我建议您尝试使用不读取整个文件的构造函数打开PDF。在itext(Java)中,这意味着使用随机文件阵列。
System.NullReferenceException: Object reference not set to an instance of an object.
   at iTextSharp.text.pdf.PdfReader.PageRefs.IteratePages(PRIndirectReference rpage)
   at iTextSharp.text.pdf.PdfReader.PageRefs.ReadPages()
   at iTextSharp.text.pdf.PdfReader.PageRefs..ctor(PdfReader reader)
   at iTextSharp.text.pdf.PdfReader.ReadPages()
   at iTextSharp.text.pdf.PdfReader.ReadPdf()
   at iTextSharp.text.pdf.PdfReader..ctor(Byte[] pdfIn, Byte[] ownerPassword)
   at iTextSharp.text.pdf.PdfReader..ctor(Byte[] pdfIn)
Exception in thread "Thread-7" ExceptionConverter: com.itextpdf.text.exceptions.InvalidPdfException: Invalid object number. at file pointer 66562
    at com.itextpdf.text.pdf.PRTokeniser.throwError(PRTokeniser.java:199)
    at com.itextpdf.text.pdf.PdfReader.readSingleObject(PdfReader.java:1171)
    at com.itextpdf.text.pdf.PdfReader.getPdfObject(PdfReader.java:1076)
    at com.itextpdf.text.pdf.PdfReader.getPdfObjectRelease(PdfReader.java:1057)
    at com.itextpdf.rups.model.IndirectObjectFactory.storeNextObject(IndirectObjectFactory.java:88)
    at com.itextpdf.rups.model.ObjectLoader.doTask(ObjectLoader.java:97)
    at com.itextpdf.rups.model.BackgroundTask$2.run(BackgroundTask.java:60)
    at java.lang.Thread.run(Unknown Source)
000103c0h: 06 A8 4E 51 B9 1A EC 18 21 D5 08 10 95 96 06 E6 ; .¨NQ¹.ì.!Õ..•–.æ
000103d0h: B9 65 30 30 B0 25 00 B9 40 0A 2A C4 96 01 11 49 ; ¹e00°%.¹@.*Ä–..I
000103e0h: 4B 83 CA 29 29 A9 65 40 9C 05 94 07 B3 81 A2 A1 ; KƒÊ))©e@œ.”.³¢¡
000103f0h: A1 78 3C 04 04 DA 0C 8C 71 91 40 5A 18 88 45 C1 ; ¡x<..Ú.Œq‘@Z.ˆEÁ
00010400h: 22 CA 0C 3C AC 1F 56 4A 27 B6 49 1B 70 71 4F D8 ; "Ê.<¬.VJ'¶I.pqOØ
00010410h: CB B4 E0 F8 D4 05 0C 52 0B F6 4B 14 EC 5D A6 6C ; Ë´àøÔ..R.öK.ì]¦l
00010420h: 74 F0 C2 61 C9 0D 10 EF EB 32 30 26 FC 05 D2 4C ; tðÂaÉ..ïë20&ü.ÒL
00010430h: 40 6C 0B C4 C6 0C 8C 05 67 40 F6 03 11 23 40 80 ; @l.ÄÆ.Œ.g@ö..#@€