1

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

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

我们现在正在使用 Acroforms 执行此操作,但也需要对 Dynamic XFA 表单执行相同操作。我找不到任何确认信息表明这是可能的。如果可能的话,是否有人可以分享任何代码来向我展示如何执行此操作?

4

1 回答 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();
}
于 2016-01-27T09:24:03.883 回答