我正在尝试通过修改包含 2D Barcode 的 XFA Forms PDF 以编程方式设置字段值。我在使用常规 Adobe Reader 打开结果 PDF 时遇到麻烦。这是一个错误“此文档在 adobe reader 中启用了扩展功能。该文档自创建以来已更改,扩展功能的使用不再可用。请联系该文档原始版本的作者”(注:-文件打开Adobe acrobat 很好)
以下是执行此操作的示例 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();