有没有办法以编程方式从 .net 代码启用 Adobe PDF 使用权限?
我正在使用 ITextSharp 库用 XML 数据(从应用程序生成)填充 XFA 表单,
但输出的 PDF 没有启用使用权限,因此用户无法与其交互(这通常不会成为问题,但原始 PDF 是政府提供的,并且
用户必须单击一些验证按钮,并且该过程是特定于用户/公司的)
这可以通过 Adobe Reader 手动完成,但您必须拥有 adobe acrobat 专业许可证。
Google 表示“只有 Adobe 产品才能做到这一点”。
(http://old.nabble.com/Enable-Adobe-Reader-usage-rights-td14276927.html)
string pathPDF = @"C:\original.pdf";
string pathCreated = @"C:\created.pdf";
string pathXml = @"C:\data.xml";
using (PdfStamper stamper = new PdfStamper(new PdfReader(pathPDF), System.IO.File.OpenWrite(pathCreated)))
{
stamper.FormFlattening = false;
stamper.AcroFields.Xfa.FillXfaForm(pathXml);
stamper.Close();
}
以编程方式执行此操作的唯一方法是使用 Adobe Reader Extension Server。您可以在此处查看 Adobe 白皮书:http://www.adobe.com/sea/products/server/readerextensions/pdfs/readerextensionsserver_ds.pdf
在上述情况下,您将使用 iTextSharp 创建 Pdf 文档,然后使用 Adobe Reader Extension Server 来允许 Pdf 文档在 Adobe Reader 中具有扩展功能。
但是,有一个小窗口可让您使用 iTextSharp 并填写已启用 Reader 的 PDF 文档。如果您有这样的Pdf文档(Reader Enabled),那么您可以使用iText/iTextSharp来填写XFA数据。您可以在此处查看示例:http://itextpdf.com/examples/iia.php?id=166
祝你好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)