Text Control products can be used to create documents programmatically from scratch, pre-designed templates can be used to populate merge fields using the TXText
╰ DocumentServer Namespace
╰ MailMerge Class
The MailMerge class is a .NET component that can be used to effortlessly merge template documents with database content in .NET projects, such as ASP.NET web applications, web services or Windows services. and documents can be edited using true WYSIWYG rich text controls for Windows Forms, WPF and ASP.NET.
Creating Documents From Scratch
TX Text Control provides a powerful and complete API to create and manipulate documents programmatically. This API can be used in any .NET application such as Windows applications, Windows Service applications or web services.
The following code creates a new instance of a TXText
╰ TXTextControl Namespace
╰ ServerTextControl Class
The ServerTextControl class implements a component that provide high-level text processing features for server-based applications. which is the non-visual Text Control. The API is compatible to the visual controls such as the Windows Forms TXText
╰ TXTextControl Namespace
╰ TextControl Class
The TextControl class implements a Windows Forms control with high-level text editing features. and the WPF TXText
╰ WPF Namespace
╰ TextControl Class
The WPF.TextControl class class implements a control with high-level text editing features. .
The code inserts a paragraph, a table and exports the document as an Adobe PDF document:
using (ServerTextControl tx = new ServerTextControl()) | |
{ | |
tx.Create(); | |
// create a new selection range | |
Selection range = new Selection(); | |
range.Bold = true; | |
range.FontSize = 400; | |
range.Text = "This is a new paragraph\r\n"; | |
// insert the range to the document | |
tx.Selection = range; | |
// add a table | |
tx.Tables.Add(5, 5, 10); | |
foreach (TableCell cell in tx.Tables.GetItem(10).Cells) | |
{ | |
cell.Text = cell.Row.ToString() + ", " + cell.Column.ToString(); | |
} | |
// save the document as PDF | |
tx.Save("test.pdf", StreamType.AdobePDF); | |
} |
Merging Templates Using MailMerge
After a template has been successfully designed in one of the visual rich text controls of TX Text Control or in MS Word, the reporting engine TXText
╰ DocumentServer Namespace
╰ MailMerge Class
The MailMerge class is a .NET component that can be used to effortlessly merge template documents with database content in .NET projects, such as ASP.NET web applications, web services or Windows services. is merging data into the template. For each data row of the master table in the data source, a document is created. Merge fields are populated with column values and repeating blocks are merged with data rows of related child tables in the data source.
A data source can be any IEnumerable object (business objects), JSON objects, DataSet and DataTable objects. Text Control Reporting follows the concept of pre-shaped data where data queries are executed before data is passed to the merge process.
The following code creates an instance of the reporting engine MailMerge to merge the template that is loaded into a ServerTextControl with an IEnumaerable object. Finally, the document is exported as a PDF document:
// create a business object that is used | |
// as the data source | |
Invoice invoice = new Invoice() { Name = "Report" }; | |
using (ServerTextControl tx = new ServerTextControl()) | |
{ | |
tx.Create(); | |
LoadSettings ls = new LoadSettings() { | |
ApplicationFieldFormat = ApplicationFieldFormat.MSWord | |
}; | |
// load the created template | |
tx.Load("template.docx", StreamType.WordprocessingML, ls); | |
// create a new MailMerge engine | |
using (MailMerge mailMerge = new MailMerge()) | |
{ | |
// connect to ServerTextControl | |
mailMerge.TextComponent = tx; | |
// merge the template that is loaded with | |
// the business object | |
mailMerge.MergeObject(invoice); | |
} | |
// export the document as PDF | |
tx.Save("test.pdf", StreamType.AdobePDF); | |
} |
Editing Documents Using MS Word-Compatible Editors
The TXText
╰ WPF Namespace
╰ RibbonReportingTab Class
The RibbonReportingTab class represents a WPF ribbon tab to integrate mail merge and reporting functionality. represents a ribbon tab to integrate mail merge and reporting functionality directly into your TX Text Control based application. Together with all other ribbon tabs known from typical word processors, creating MS Word compatible template designers and word processors is a very easy task.
Not being dependent on an additional third-party tool such as MS Word to create templates is a very important key aspect when implementing word processing functionality into business applications. The MS Word compatible editor has the look and feel of MS Word, but can be customized and adapted to user requirements. MS Word templates can be reused and edited in TX Text Control.
Templates can be stored in industry standard(ized) formats such as DOCX, DOC and RTF and are always compatible with other word processors such as MS Word.
The following screenshot shows the Windows Forms version of TX Text Control. The visual controls can be automated in the same way like the non-visual class ServerTextControl using the same, compatible API.
Creating Documents in the Cloud
The ReportingCloud Web API can be used to merge MS Word compatible templates with JSON data from all clients such as .NET, .NET Core, Javascript, PHP, Node.JS, jQuery, Python, Android, Java, iOS and many more.
ReportingCloud provides a RESTful Web API to manage templates and to merge templates with hierarchical data from JSON strings.
The following code uses ReportingCloud and the ReportingCloud .NET Wrapper to merge data into a template:
ReportingCloud rc = new ReportingCloud( | |
"username", | |
"password", | |
new Uri("https://api.reporting.cloud")); | |
// create dummy data | |
Invoice invoice = new Invoice(); | |
// create a new MergeBody object | |
MergeBody body = new MergeBody(); | |
body.MergeData = invoice; | |
// merge the document | |
List<byte[]> results = rc.MergeDocument(body, templateName, ReturnFormat.PDF); |
Conclusion
Text Control provides the most powerful tools and controls to integrate document creation processes into any kind of business applications.