如何在PDF展平期间解码XML转义码?

时间:2016-04-26 17:00:25

标签: xml pdf itextsharp xfa

我正在使用iTextSharp使用XML来填充带有XML数据的XFA表格的PDF 以下代码。如果我将字节写入PDF文件,我可以打开它看看 XML属性(例如&)中的字符显示为&

public static byte[] FillDynamicPdf(XElement templateXml, PdfReader reader)
{
    using (var pdfStream = new MemoryStream())
    using (var xmlStream = new MemoryStream())
    {
        templateXml.Save(xmlStream);
        xmlStream.Position = 0;
        using (var stamper = new PdfStamper(reader, pdfStream))
        {
            stamper.AcroFields.Xfa.FillXfaForm(xmlStream);
        }
        return pdfStream.ToArray();
    }
}

但是,当我使用XFAFlattener(带有付费许可证)时 字节数组&显示在最终的PDF中。我四处寻找 相当多,似乎无法找到任何人发布相同的问题或任何 良好的API文档。那里的人有同样的问题吗?看起来是这么回事 必须非常普遍。

这是我们展平过程的代码片段 - 可能是一些语法错误 因为我必须复制并粘贴代码中的相关行以使其适合 很好地在这个问题领域。

byte[] pdfStream = getFormFilledPDFBytes();
var outputStream = new MemoryStream();
var document = new Document();
var writer = PdfWriter.GetInstance(document, outputStream);
var reader = new PdfReader(pdfStream);
var xfaf = new XFAFlattener(document, writer);
xfaf.Flatten(reader);
var flatPdf = outputStream.ToArray();

0 个答案:

没有答案