将PDF与PDFSharp组合丢失表单字段

时间:2013-02-19 18:56:47

标签: .net merge pdfsharp

我正在尝试使用PDFSharp和此代码(我找到here)将两个创建的PDF文件连接到一个新PDF:

        // Open the output document
        PdfDocument outputDocument = new PdfDocument();
        // Iterate files
        foreach (string file in files)
        {
            // Open the document to import pages from it.
            PdfDocument inputDocument = PdfReader.Open(file, PdfDocumentOpenMode.Import);

            // Iterate pages
            int count = inputDocument.PageCount;
            for (int idx = 0; idx < count; idx++)
            {
                // Get the page from the external document...
                PdfPage page = inputDocument.Pages[idx];
                // ...and add it to the output document.
                outputDocument.AddPage(page);
            }
        }
        // Save the document...
        string filename = Path.Combine(this.tempFolder, "MyPDF.pdf");
        outputDocument.Save(filename);

第二个PDF包含我填写的表单字段,也使用PDFSharp。我遇到的问题是,当组合成新的PDF时,表单字段显示为空白。

我在创建并保存后打开了第二个PDF,表单字段显示文本就好了。

我是否遗漏了某些内容,或者PDFSharp是否存在某些与此问题有关的错误?在我看来,如果我可以打开并查看PDF就好了,组合它们应该没有任何问题。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

PDFsharp不完全支持表单字段。我没有检查这一点,但将PDF文件与填充的表单字段组合时可能存在错误。我们继续维护和改进PDFsharp,但没有计划改进表单字段的处理。

如果你以不同的方式尝试它,它可能会工作:打开第二个PDF进行修改,打开第一个用于导入,并在第二个文件的开头添加第一个文件的页面(如果两个文件都可能不起作用文件包含填写的表单字段) 如果必须保留原始文件,请在执行此操作之前创建第二个文件的副本。