New Features and Update Notes

TX Text Control 19.0 provides the following new features:

Headers and Footers

Text Control now supports different headers and footers for the even and odd pages of the whole document or of a single section. A document's section can either contain the same header or footer for all pages or different headers and footers for even and odd pages. The HeaderFooterCollection.Add, HeaderFooterCollection.GetItem and HeaderFooterCollection.Remove methods have been extended, so that an even header or footer can be added and removed programmatically. When an even header or footer has been defined, a HeaderFooter object of the type Header or Footer represents the odd header or footer. Otherwise, it represents the header or footer of both pages. The built-in SectionFormatDialog has been extended to enable an end-user to select different headers and footers for even and odd pages. When a header or footer is activated, a dividing line between the header or footer and the main text is displayed instead of a frame. The dividing line has a label indicating which type of header or footer (even, odd, first page) is activated. The TextControl.HeaderFooterFrameStyle property has been extended, so that the former activation styles are still possible. The TextControl.Colors and WPF.TextControlColors classes have been extended to support designing the colors of dividing lines and labels.


TX Text Control now supports the insertion of barcode controls of the type TXTextControl.Barcode.TXBarcodeControl. A barcode can be positioned like an image or textframe, either geometrically or as a single character. Geometrically, its position can either be relative to a paragraph to which it is anchored or relative to the complete document. The new BarcodeFrame class handles the positioning of the barcode in the document. A barcode frame is always associated with a barcode control which handles the appearance and the data of the barcode. All barcodes in a document are contained in a BarcodeCollection. The collection can also be used to add barcodes to or to remove barcodes from the document. The barcode collection can be obtained through the TextControl.Barcodes, WPF.TextControl.Barcodes or ServerTextControl.Barcodes property. The TextControl.BarcodeLayoutDialog and WPF.TextControl.BarcodeLayoutDialog methods opens a dialog box, which offers layout settings such as positioning, size and text distances. A barcode can be saved with the TX Text Control and the RTF format and is reconstructed during a loading process. With other formats the barcode image is saved. If a document with barcodes is loaded on a system where no barcode controls are installed, the barcode's image is inserted.

Page Numbering

Text Control now supports additional features for showing page numbers. For each section in the document page numbers can either be continued from the previous section or can be restarted with a certain start number. The SectionFormat class has been extended with the SectionFormat.RestartPageNumbering property to support this feature. A PageNumberField can now be used to show the total number of pages. The new PageNumberField.ShowNumberOfPages property supports this feature. A new built-in dialog box can be used to alter the formatting and numbering attributes of page number fields. It can be opened with the PageNumberField.PageNumberDialog method.

Built-in Context Menus

Text Control now offers built-in context menus. Depending on the area, where the right mouse button has been clicked a menu with standard options for this area is shown. There is a menu for standard text formatting, a menu for inserting or editing headers and footers including altering page settings and a menu for handling images and text frames. Before a built-in context menu is opened, a TextContextMenuOpening event occurs. This event can be used to alter or to expand the predefined menu, to provide a custom menu or to completely suppress the menu.


A new TableCollection.Add method has been added, which opens a built-in dialog box to specify a new table.

Application Fields

TX Text Control now supports Microsoft Word Content Controls. Content controls are converted to TX Text Control ApplicationField, when a Microsoft Word (.DOCX) document is loaded. For more information see the technical article Text Fields and Hypertext Links - Importing Fields from Microsoft Word.

Control Characters

TX Text Control now has a control character which shows the anchor position of an anchored object. Anchored objects are positioned relative to a paragraph. The anchor postion is shown left of this paragraph's first character. The anchor is shown only when an anchored object is selected. Additionally, individual control characters can be shown permanently on the screen independently of the value of the ControlChars property. This setting can be performed with the new TextControl.PermanentControlChars or WPF.TextControl.PermanentControlChars property.

Mail Merge

The MailMerge component is now able to merge data into DataVisualization.ChartFrame and DataVisualization.BarcodeFrame objects. Barcodes are essentially processed just like merge fields: If the name of a BarcodeFrame object is the same as a table column, data will be merged into it. This also works with barcodes in merge blocks. ChartFrame objects are only supported outside merge blocks and can be supplied with merge data by means of data relations, which have to be part of the DataTable object passed to the DocumentServer.MailMerge.Merge method. Another improvement is the option to interrupt a merge process after each merged data row by using the Cancel property of the event arguments for the DocumentServer.MailMerge.DataRowMerged event. Additionally, the DocumentServer.MailMerge.BarcodeMerged and DocumentServer.MailMerge.ChartMerged events have been added, which are fired after a barcode or a chart has been merged.

HeaderFooterCollection Methods

Have been extended with the HeaderFooterType.EvenHeader and HeaderFooterType.EvenFooter values.

TextControl.HeaderFooterFrameStyle Property

Has been extended with the HeaderFooterFrameStyle.DividingLine setting.