我有一个启用了扩展功能的表单的PDF模板。使用iTextSharp的这个表单的字段填写后,与Acrobat Reader的用户得到的错误消息:使用iTextSharp禁用扩展功能
该文件启用在Adobe Reader扩展功能。该文档自 创建以来已更改,并且扩展功能的使用不再可用 。请联系作者,获取 文档的原始版本。
我GOOGLE了一下,但所有的帖子谈“启用”扩展功能,但是,我想表单字段保持残疾人和扩展功能关闭
这里的样本代码我使用:
using (var existingFileStream = new FileStream(fileNameExisting, FileMode.Open))
using (var newFileStream = new FileStream(fileNameNew, FileMode.Create))
{
// Open existing PDF
var pdfReader = new PdfReader(existingFileStream);
// PdfStamper, which will create
var stamper = new PdfStamper(pdfReader, newFileStream);
var form = stamper.AcroFields;
var fieldKeys = form.Fields.Keys;
foreach (string fieldKey in fieldKeys)
{
if (fieldKey.Equals("Retailer Name"))
form.SetField(fieldKey, retailerName);
}
// “Flatten” the form so it wont be editable/usable anymore
stamper.FormFlattening = true;
stamper.Close();
pdfReader.Close();
}
也许你不应该保存它,但创意用iTextSharp替代它的一个新实例?由于您刚刚重新创建了文档,因此不做任何更改?我不熟悉PDF扩展功能或iTextSharp。你的代码与iTextSharp的用法有什么关系?我目前正在阅读Java API,但其安静的大... –
@Mike:我正在创建一个新的实例。我更新了问题以显示我正在使用的代码。 – Jags