首页 文章

动态XFA PDF表单

提问于
浏览
1

我有许多使用Livecycle Designer创建的Dynamic XFA PDF . 这些PDF用作各种人员完成的模板 . 当用户请求模板时,我们必须编写一个提交按钮,其中url指向.net应用程序以进行处理,并将包含数据库信息的某些字段更新为PDF .

我可以使用带有.net的iText(Sharp)更新动态xfa pdf,将其写入提交按钮并更新字段,然后使用iText(Sharp)处理返回的表单 .

我们现在正在使用Acroforms执行此操作,但也需要对Dynamic XFA表单执行相同操作 . 我找不到任何可能的确认信息 . 如果有可能有人有任何他们可以分享的代码,告诉我如何做到这一点?

1 回答

  • 1

    您还可以实现将pdf的内容放在XmlDocument中并在处理XML时工作 . 这是我用来替换用文本框编写的一些占位符的代码 .

    PdfReader pdfReader = new PdfReader(path_pdf);
    using (PdfStamper pdfStamp = new PdfStamper(pdfReader, new FileStream(temp_path, FileMode.Create), '\0', true))
    {
        pdfStamp.ViewerPreferences = PdfWriter.AllowModifyContents;
        XmlDocument xmlDocument = pdfReader.AcroFields.Xfa.DomDocument;
        string pdfContent = xmlDocument.InnerXml;
        string newpdfContent = pdfContent
            .Replace("$CONTENT_TO_REPLACE_1$", "some_content")
            .Replace("$CONTENT_TO_REPLACE_2$", "some_other_content")
    
        xmlDocument.InnerXml = newpdfContent;
        Stream stream = GenerateStreamFromString(newpdfContent);
        pdfStamp.AcroFields.Xfa.FillXfaForm(stream);
        pdfStamp.AcroFields.Xfa.DomDocument = xmlDocument;
        pdfStamp.Close();
    }
    

相关问题