无法在 PDF 交叉引用流位置找到对象。 (abcpdf)

Unable to find object at PDF cross-reference stream location. (abcpdf)

处理单页 pdf 时出现以下错误。

请问我为什么会收到这个错误

Doc theSrc = new Doc(); theSrc.Read(e.FullPath);在这条线上

无法在 PDF 交叉引用流位置找到对象。

谢谢,

如果您使用 ABCpdf 的 ExtraChecks 功能,您可以选择尝试让 ABCpdf 修复损坏,或者让您自己 application/site 发出 PDF 损坏的警告。

当然,ABCpdf 可以解决的问题是有限的 - 在这种情况下,您仍然会收到来自 ABCpdf 的错误。

在代码方面,逻辑是这样的:

                try
                {
                    doc.Read(inFile);
                    // No corruption detected
                    doc.Save("good.pdf");
                }
                catch
                {
                    try
                    {
                        doc.Read(inFile, new XReadOptions { ExtraChecks = true });
                        // ExtraChecks managed to fix the corruption
                        doc.Save("fixed.pdf"));
                    }
                    catch
                    {
                        // ABCpdf could not fix the corruption
                    }
                }