背景
目标是通过 iTextSharp 读取 PDF 模板,填充内容后以生成新 PDF 文件。
利用 福昕PDF编辑器个人版 可以获取到 RadioButtonList 的组名,但是获取不到每一个 RadioButton 的 Value,因而无法进一步对单选框控件赋值。
解决
使用 Adobe LiveCycle Designer 可以读取到 PDF 表单设计元素,找到对应的 RadioBUttonList 元素,即可找到对应的 Value。
范例
var templateFile = Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath) + @"\template.pdf"; using (var reader = new PdfReader(templateFile)) { var tempPdf = Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath) + string.Format(@"\output\{0}.pdf", Guid.NewGuid()); using (var stamper = new PdfStamper(reader, new FileStream(tempPdf, FileMode.Create))) { stamper.SetEncryption(null, null, PdfWriter.AllowCopy | PdfWriter.AllowPrinting, true); stamper.Writer.CloseStream = false; var form = stamper.AcroFields; form.SetField("form1[0].#subform[0].name[0]", "UserName"); form.SetField("form1[0].#subform[0].gender[0]", "Male"); stamper.FormFlattening = true; stamper.Close(); } }
ALD
时间: 2024-10-28 01:44:25