Skip to content

Instantly share code, notes, and snippets.

@bjoerntx
Created July 27, 2022 08:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bjoerntx/2113eceaacd22c69b2c89c0ced35ec35 to your computer and use it in GitHub Desktop.
Save bjoerntx/2113eceaacd22c69b2c89c0ced35ec35 to your computer and use it in GitHub Desktop.
public ActionResult Index() {
using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl()) {
tx.Create();
// adding static text
TXTextControl.Selection sel = new TXTextControl.Selection();
sel.Text = "Welcome to Text Control\r\n";
sel.Bold = true;
tx.Selection = sel;
// adding merge fields
TXTextControl.DocumentServer.Fields.MergeField mergeField =
new TXTextControl.DocumentServer.Fields.MergeField() {
Text = "{{company}}",
Name = "company",
TextBefore = "Company name: "
};
tx.ApplicationFields.Add(mergeField.ApplicationField);
// alternatively load a template
//TXTextControl.LoadSettings ls = new TXTextControl.LoadSettings() {
// ApplicationFieldFormat = TXTextControl.ApplicationFieldFormat.MSWord
//};
//tx.Load("template.docx", TXTextControl.StreamType.WordprocessingML, ls);
// merge fields with MailMerge engine
using (TXTextControl.DocumentServer.MailMerge mailMerge =
new TXTextControl.DocumentServer.MailMerge()) {
mailMerge.TextComponent = tx;
mailMerge.MergeJsonData("[{\"company\": \"Text Control, LLC\" }]");
}
// return result as HTML
string result = "";
tx.Save(out result, TXTextControl.StringStreamType.HTMLFormat);
// alternatively save as PDF
//byte[] baPdf;
//tx.Save(out baPdf, TXTextControl.BinaryStreamType.AdobePDF);
ViewBag.Document = result;
}
return View();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment