private void btnMerge_Click(object sender, EventArgs e) { // merge the template with JSON data using (TXTextControl.DocumentServer.MailMerge mailMerge = new TXTextControl.DocumentServer.MailMerge()) { mailMerge.TextComponent = textControl1; mailMerge.FieldMerged += MailMerge_FieldMerged; string data = File.ReadAllText("data.json"); mailMerge.MergeJsonData(data, false); } }
private void button1_Click(object sender, EventArgs e) { TXTextControl.DocumentServer.MailMerge mm = new TXTextControl.DocumentServer.MailMerge(); mm.TextComponent = textControl1; textControl1.Load("invoice.tx", TXTextControl.StreamType.InternalUnicodeFormat); Invoice invoice = CreateSampleInvoice(); // merge data into template mm.MergeJsonData(JsonConvert.SerializeObject(invoice)); // create the XML string xmlZugferd = invoice.CreateXml(); // get the required meta data string metaData = MetaData.GetMetaData(); TXTextControl.SaveSettings saveSettings = new TXTextControl.SaveSettings(); // create a new embedded file var zugferdInvoice = new TXTextControl.EmbeddedFile( "ZUGFeRD-invoice.xml", Encoding.UTF8.GetBytes(xmlZugferd), metaData); zugferdInvoice.Description = "ZUGFeRD-invoice"; zugferdInvoice.Relationship = "Alternative"; zugferdInvoice.MIMEType = "application/xml"; zugferdInvoice.LastModificationDate = DateTime.Now; // set the embedded files saveSettings.EmbeddedFiles = new TXTextControl.EmbeddedFile[] { new TXTextControl.EmbeddedFile( "ZUGFeRD-invoice.xml", Encoding.UTF8.GetBytes(xmlZugferd), metaData) }; // export the PDF textControl1.Save("test.pdf", TXTextControl.StreamType.AdobePDFA, saveSettings); }