以编程方式启用Adobe PDF使用权限

dan*_*010 4 pdf itext generated

有没有办法从.net代码以编程方式启用Adobe PDF使用权限?我正在使用ITextSharp库来填充带有XML数据的XFA表单(从应用程序生成),但输出PDF没有启用使用权限,因此用户无法与之交互(这通常不会成为问题,但是原始PDF是gov提供的,用户必须单击一些验证按钮,该过程是用户/公司特定的)

这可以通过Adobe Reader手动完成,但您必须拥有adobe acrobat专业许可证.

谷歌说"只有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();
}
Run Code Online (Sandbox Code Playgroud)

小智 5

以编程方式执行此操作的唯一方法是使用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

祝好运!