iTextSharp PdfCopy打破Foxit Reader的PDF(TypeError:无法读取属性' __ validate' of undefined)

时间:2015-09-29 09:32:44

标签: pdf itextsharp itext

我正在编写一些代码来使用iTextSharp连接PDF。在这个阶段,我简化了代码以连接一个PDF:

public static void Concat(string outputFilePath, string inputFilePath)
{
    using (var document = new Document())
    {
        using (var fileStream = new FileStream(outputFilePath, FileMode.Create, FileAccess.ReadWrite))
        using (var copier = new PdfCopy(document, fileStream))
        {
            copier.SetMergeFields();
            document.Open();

            var reader = new PdfReader(inputFilePath);
            copier.AddDocument(reader);
            copier.AddJavaScript(reader.JavaScript);

            copier.Close();
        }
        document.Close();
    }
}

我有一个特定的PDF打破了这段代码:

输入文件在福昕阅读器中工作正常:除了可以编辑的底部的大字段外,所有字段都是只读的。
但是,输出文件在Foxit Reader中无法正常工作。编辑底部字段并单击其他位置会产生错误TypeError: Cannot read property '__validate' of undefined

我已经比较了AcroForm字段的结构,但我无法确定哪个差异会导致此错误。我还试图找出the Javascript的哪个部分导致错误,但据我所知,错误不会发生在PDF的javascript中,而是当Foxit Reader试图调用时{{} 1}} __validate()中不存在的条目。

使用Adobe Reader,该文件似乎工作正常。

有什么想法吗?

0 个答案:

没有答案