我試圖通過修改包含二維條形碼的XFA表單PDF來編程設置字段值。我使用普通Adobe Reader打開了重新生成PDF格式。這是一個錯誤「這個文件啓用了adobe reader中的擴展功能。文檔自創建以來已經發生了變化,擴展功能的使用已不再可用。請聯繫本文原始版本的作者」(注意: - 文件打開罰款與Adobe雜技演員)XFA表單PDF使用itextsharp進行修改並生成PDF給出擴展功能錯誤
以下是一個示例c#代碼這樣做。
var reader = new PdfReader(@"c:\abc.pdf");
// System.IO.FileStream fs = new FileStream(reader, System.IO.FileMode.CreateNew, FileAccess.ReadWrite);
var output = new MemoryStream();
var stamper = new PdfStamper(reader, output, '\0', true);
stamper.ViewerPreferences = PdfWriter.AllowModifyContents;
stamper.AcroFields.SetField("form1[0].#subform[0].Line1a_FamilyName[0]", "Family Name");
stamper.FormFlattening = false;
stamper.Close();
reader.Close();
Response.AddHeader("Content-Disposition", "attachment; filename=YourPDF.pdf");
Response.ContentType = "application/pdf";
Response.BinaryWrite(output.ToArray());
Response.End();
克里斯感謝您的快速Reply.Yes,我填寫表格只在附加模式和(reader.RemoveUsageRights()),誤差肯定有助於但對我來說二維條碼變成unusable.After我填寫任何表單字段PDF條碼變成灰色圖像。任何想法爲什麼? – user2308616 2013-04-22 19:48:13
您可以使用adobe livecycle服務器es4來獲取條形碼閱讀器擴展 – 2013-11-19 09:49:37