itext XFA:InvalidCastException

时间:2017-07-28 11:31:26

标签: linq itext itext7

使用itext7并在尝试加载XFA表单时,我得到了:

  

System.InvalidCastException:'无法转换类型的对象   'System.Xml.Linq.XText'键入'System.Xml.Linq.XElement'。'

源代码:

var pdfReader = new PdfReader(package.PdfTemplate);
pdfReader.SetUnethicalReading(true);
using (var document = new PdfDocument(pdfReader, new PdfWriter(writeMS)))
{
    var acroForm = PdfAcroForm.GetAcroForm(document, true);
    var xfa = acroForm.GetXfaForm();
    var dataXml = _dataGenerator.GenerateXfaFormData(package);
    xfa.FillXfaForm(dataXml);
    xfa.Write(document);
}

异常抛出

  

var acroForm = PdfAcroForm.GetAcroForm(document,true);

示例PDF可以在这里看到:https://programmcze-my.sharepoint.com/personal/nechanicky_programmcze_onmicrosoft_com/_layouts/15/guestaccess.aspx?docid=0c18710068a124a58a32e77ad53c4cbb9&authkey=AQvVBZLXNirrISLjvT083XY

1 个答案:

答案 0 :(得分:0)

构建XfaForm时确实存在一个不包含<xfa:datasets>条目的问题。

问题已在iText 7.0.5-SNAPSHOT版本中修复。可以找到包含源和修复的存储库here