File Format Detection
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…

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 Sub
Related 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
In an older sample, I showed how to implement a paste special functionality by accessing the clipboard directly using .NET functionality. In version 15.0, we implemented this functionality…
How to Remove All Section Breaks in a Document?
With version 14.0, we introduced document section breaks that allow you to have different page formats in the same document. Version 15.0 implements page columns that can be adjusted section-wise.…
Batch Printing: How to Print Documents in One Print Job
A typical requirement when printing loads of documents is managing the print jobs. A group of separate documents might be subsumed in a single print job. We just published a new sample in our…