File Format Detection
Detect file formats before loading documents into TX Text Control when users rename files or change extensions. This VB.NET function reads the file header to identify RTF and HTML formats, returning the appropriate StreamType value that can be passed directly to the Load method.

Sometimes, end-users change filenames or the suffix of a file. There are a variety of reasons to do this. In such cases, applications need to detect the file format of the document, before loading it into TX Text Control.
To give you an idea how to solve this little problem, I have written a simplified function in VB.NET that detects two string file formats: RTF and HTML.
I intend to write another binary-based function to detect the Microsoft Word file format (DOC), but this should give you an idea about the intention.
This function returns a valid TX Text Control StreamType. This can be used directly in TX Text Control's Load method.
Private Function checkFileFormat(ByVal path As String)
Dim myFileRead As System.IO.TextReader
myFileRead = System.IO.File.OpenText(path)
Dim myChars As String
myChars = myFileRead.ReadToEnd
If myChars.StartsWith("{
tf") Then
Return TXTextControl.StreamType.RichTextFormat
ElseIf myChars.StartsWith("
Return TXTextControl.StreamType.HTMLFormat
Else
Return TXTextControl.StreamType.PlainText
End If
End Function
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim filename As String = "test.rtf"
Dim Format As TXTextControl.StreamType = checkFileFormat(filename)
TextControl1.Load(filename, Format)
End SubRelated Posts
Create a Table of Contents in Windows Forms using C#
This article explains how to create a table of contents in Windows Forms using the ribbon or programmatically. Creating a table of contents is required to organize large documents.
Two Ways to Restart Numbered Lists in TX Text Control
In TX Text Control, numbered lists are continued by default and need to be reset when required. There is more than one way if you want to restart numbered lists in a document. In this article, two…
Paste Special: The Easy Way to Implement
TX Text Control version 15.0 introduced a ClipboardFormat parameter on the Paste method, enabling native Paste Special functionality. The GetClipboardFormats method returns all available clipboard…
How to Remove All Section Breaks in a Document?
TX Text Control 15.0 adds per-section page column support alongside existing section breaks. To remove all section breaks programmatically, iterate through SectionCollection using…
Batch Printing: How to Print Documents in One Print Job
Batch printing multiple documents as a single print job using TX Text Control relies on a .NET PrintDocument with PrintPage and QueryPageSettings events. Each page is rendered individually via the…
