GMC Printnet Designer 7.0 で生成された pdf があります。そして、xfaテンプレートを含むxmlファイルがあります。それらをマージしてpdfにデータを埋め込みたい。(xmlを添付したくない!)
xml データを読み取ることができ、入力 pdf を読み取ることができ、メモリ ストリームを開始して、それを使用して出力データを生成することができます。しかし、itext で作成した PDF を確認すると、xfa フォームが表示されません。
ここに私のC#コードとxmlファイルがあります:
PdfReader reader = new PdfReader("in.pdf");
MemoryStream ms = new MemoryStream();
PdfStamper stamper = new PdfStamper(reader, ms);
XfaForm xfa = new XfaForm(reader);
XmlDocument doc = new XmlDocument();
doc.Load("in.xml");
xfa.DomDocument = doc;
xfa.Changed = true;
XfaForm.SetXfa(xfa, stamper.Reader, stamper.Writer);
xfa.XfaPresent = true;
stamper.Close();
File.WriteAllBytes("out.pdf", ms.ToArray());
XML ファイル
<?xml version="1.0" encoding="UTF-8"?><xfa:data xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
<Invoice>
<InvoiceNr>1010101010101010</InvoiceNr>
<DateIssuance>2014-07-22</DateIssuance>
<PaymentDueDate>2014-09-09</PaymentDueDate>
<AmountToBePaid>53,25</AmountToBePaid>
</Invoice>
</xfa:data>