我有一个PDF模板与扩展功能启用的表单。使用iTextSharp填写此表单的字段后,具有acrobat读取器的用户将获得以下错误消息:
此文档启用Adobe中的扩展功能。文档自创建以来已经更改,扩展功能的使用不再可用。请与作者联系,以获得本文件的原件。
我在googled上搜索了一点,但是所有的帖子都提到了“启用”扩展功能,但是,我希望表单字段保持禁用的,关闭扩展功能。
这里是我使用的示例代码:
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();
}发布于 2017-05-10 03:28:04
使用PdfStamper解析器过载以附加模式填写表单
// PdfStamper, which will create
var stamper = new PdfStamper(pdfReader, fileStream, '\0', true);https://stackoverflow.com/questions/17852902
复制相似问题