itextsharp设置压模FormFlatttening = true将导致无输出 [英] itextsharp setting the stamper FormFlatttening=true results in no output

查看:241
本文介绍了itextsharp设置压模FormFlatttening = true将导致无输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在VS2010中使用itextsharp v5.5.5.0 设置压模FormFlattening = true不会将归档数据写入输出pdf.如果设置为false,则数据全部存在.正确,但仍可编辑(我不想要)

Using itextsharp v5.5.5.0 in VS2010 Setting the stamper FormFlattening = true no filed data is written to the output pdf. If set false the data is all present & correct but still editable (which I don't want)

PdfReader pdfTemplate = new PdfReader("..\\..\\pdf\\BFC-Template.pdf");
FileStream fileOutputStream = new FileStream("..\\..\\pdf\\BFC.pdf", FileMode.Create);
PdfStamper stamper = new PdfStamper(pdfTemplate, fileOutputStream);

stamper.AcroFields.SetField("FitID", "1234");
stamper.AcroFields.SetField("FitBy", "Fred Flintstone");
stamper.AcroFields.SetField("FitDate", "03/11/2015");
stamper.AcroFields.SetField("FitLocation", "Bedrock");

stamper.FormFlattening = true;
stamper.Close();
pdfTemplate.Close();
fileOutputStream.Close();

推荐答案

尝试添加:

stamper.AcroFields.GenerateAppearances = true;

如果您的表单是动态表单.您可能需要更改

If your form is a Dynamic Form. you might need to change

stamper.AcroFields.SetField("FitID", "1234");

收件人:

stamper.AcroFields.Xfa.DatasetsSom.Name2Node["FitID"].InnerText = "1234"

这篇关于itextsharp设置压模FormFlatttening = true将导致无输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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