c# – 展平后缺少AcroForm值
发布时间:2020-12-16 00:10:03 所属栏目:百科 来源:网络整理
导读:我正在使用LibreOffice 4.1.3.2生成可填写的PDF: 创建了一个Writer文档 设置一些文本和测试字段 导出为PDF 使用Acrobar Reader打开pdf文件显示正确的可填写pdf. 接下来我使用iTextSharp 5.4.5填充字段并保存展平文档: var pdf = new PdfReader(srcFilename
我正在使用LibreOffice 4.1.3.2生成可填写的PDF:
>创建了一个Writer文档 使用Acrobar Reader打开pdf文件显示正确的可填写pdf. var pdf = new PdfReader(srcFilename); using (var fw = new FileStream(dstFilename,FileMode.Create)) { var stamper = new PdfStamper(pdf,fw); var f = stamper.AcroFields; f.SetField("field1","John Doe"); f.SetField("field2","12/04/2013"); stamper.FormFlattening = true; stamper.Close(); } pdf.Close(); 问题是填充的字段值在新文档中完全消失! 这有解决方案吗? 解决方法
使用Open Office创建表单时,Open Office会设置一个标志,告诉iText不要创建外观.如果您查看
FillDataSheet示例,您会看到我们使用以下行覆盖它:
fields.setGenerateAppearances(true); 在您的特定C#代码段中,这将是: f.GenerateAppearances = true; 在设置字段之前设置此值非常重要,否则将不会创建外观. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |