我正在使用itextsharp 5.4.2来打开一个pdf文档库(所有这些都是使用相同的pdf生成工具以编程方式生成的,尽管可能是该工具的不同版本) . itextsharp适用于所有文件,除了一个,这是一个异常(文档在acrobat pdf阅读器中打开):

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)

我还尝试在iText RUPS 5.4.2中打开相同的文档,并在“阅读交叉引用表”时遇到以下错误:

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)

我无法提供pdf文档(客户信息),也无法“修复”pdf(第三方) . 如果没有我必须深入研究iTextSharp源代码,我是否会如此幸运,以上信息足以让某人修改iTextSharp来处理这个问题(我怀疑该文档有一个真正的问题,但似乎iTextSharp可以解决这个问题问题就像pdfreader一样?) .

PDF字节(66500 - 66600 => 103c4 - 10428;我刚刚在超编辑中打开了pdf . 是否压缩了pdf?字节是从压缩流中的错误消息计算的还是未压缩的?)

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@ö..#@€