我有许多用Livecycle Designer创建的动态XFA PDF。这些PDF可用作各种个人完成的模板。当用户请求模板时,我们必须编写一个带有url的提交按钮,指向.net应用程序进行处理,并将数据库中的信息更新到PDF中。
我是否可以使用带有.net的iText(Sharp)来更新动态xfa pdf,以便在其中写入提交按钮和更新字段,然后使用iText(Sharp)来处理返回的表单。
我们现在正在对Acroforms执行此操作,但也需要对动态XFA表单执行相同的操作。我找不到任何确认信息来证明这是可能的。如果可能的话,有没有人可以分享一些代码来告诉我如何做到这一点?
发布于 2016-01-27 17:24:04
您还可以实现将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();
}https://stackoverflow.com/questions/33877043
复制相似问题