iTextSharp的PDFTemplate FormFlattening移除填充数据 [英] ITextSharp PDFTemplate FormFlattening removes filled data

查看:1486
本文介绍了iTextSharp的PDFTemplate FormFlattening移除填充数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我移植从Java到C#现有的应用程序。原来的应用程序使用的iText库填写PDF表单模板,并将其保存为新的PDF的。我的C#代码(例如)如下:

I am porting an existing app from Java to C#. The original app used the IText library to fill PDF form templates and save them as new PDF's. My C# code (example) below:

string templateFilename = @"C:\Templates\test.pdf"; 
string outputFilename = @"C:\Output\demo.pdf";

using (var existingFileStream = new FileStream(templateFilename, FileMode.Open))
{
    using (var newFileStream = new FileStream(outputFilename, FileMode.Create))
    {
        var pdfReader = new PdfReader(existingFileStream);
        var stamper = new PdfStamper(pdfReader, newFileStream);

        var form = stamper.AcroFields;
        var fieldKeys = form.Fields.Keys;

        foreach (string fieldKey in fieldKeys)
        {
            form.SetField(fieldKey, "REPLACED!");
        }

        stamper.FormFlattening = true;
        stamper.Close();
        pdfReader.Close();
    }
}



所有只有行之有效的,如果我ommit了。

All works well only if I ommit the

stamper.FormFlattening = true;



行,但随后的形式是可见的...的形式。
当我添加了这条线,设置为窗体字段的任何值都将丢失,从而导致一个空白窗体。我真的很感激的任何建议。

line, but then the forms are visible as...forms. When I add the this line, any values set to the form fields are lost, resulting in a blank form. I would really appreciate any advice.

推荐答案

解决使用iTextSharp的以前的版本(5.4.3)的问题。不知道其中的原因,但...

Resolved the issue by using a previous version of ITextSharp (5.4.3). Not sure what the cause is though...

这篇关于iTextSharp的PDFTemplate FormFlattening移除填充数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆