iTextSharp的PDFTemplate FormFlattening移除填充数据 [英] ITextSharp PDFTemplate FormFlattening removes filled data
问题描述
我移植从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屋!