我有一個啓用了擴展功能的表單的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