0

我正在使用 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(第 3 方)。如果我不必深入研究 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@ö..#@€
4

0 回答 0