Codecs: How to extract text from HTML file?
In This Topic
Here is C#/VB.NET code that shows how to extract text from HTML file:
/// <summary>
/// Extracts the text from HTML.
/// </summary>
/// <param name="htmlFileName">Name of the HTML file.</param>
public static void ExtractTextFromHtml(string htmlFileName)
{
using (Vintasoft.Imaging.ImageCollection images = new Vintasoft.Imaging.ImageCollection())
{
// open HTML document
images.Add(htmlFileName);
try
{
// page number
int pageNumber = 1;
// for each page of HTML dcoument
foreach (Vintasoft.Imaging.VintasoftImage image in images)
{
// write page number
System.Console.WriteLine("\tPage Number: {0}", pageNumber++);
System.Console.WriteLine();
System.Console.WriteLine();
// find text region metadata
Vintasoft.Imaging.Metadata.TextRegionMetadata textRegionMetadata =
image.Metadata.MetadataTree.FindChildNode<Vintasoft.Imaging.Metadata.TextRegionMetadata>();
// if current page has text content
if (textRegionMetadata != null)
{
// get text region
Vintasoft.Imaging.Text.TextRegion textRegion = textRegionMetadata.GetTextRegion();
// write page text content
System.Console.Write(textRegion.TextContent);
}
// if page separator must be added between pages
if (pageNumber < images.Count)
{
System.Console.WriteLine();
System.Console.WriteLine();
System.Console.WriteLine();
}
}
}
finally
{
// clear and dispose images
images.ClearAndDisposeItems();
}
}
}
''' <summary>
''' Extracts the text from HTML.
''' </summary>
''' <param name="htmlFileName">Name of the HTML file.</param>
Public Shared Sub ExtractTextFromHtml(htmlFileName As String)
Using images As New Vintasoft.Imaging.ImageCollection()
' open HTML document
images.Add(htmlFileName)
Try
' page number
Dim pageNumber As Integer = 1
' for each page of HTML dcoument
For Each image As Vintasoft.Imaging.VintasoftImage In images
' write page number
System.Console.WriteLine(vbTab & "Page Number: {0}", System.Math.Max(System.Threading.Interlocked.Increment(pageNumber),pageNumber - 1))
System.Console.WriteLine()
System.Console.WriteLine()
' find text region metadata
Dim textRegionMetadata As Vintasoft.Imaging.Metadata.TextRegionMetadata = image.Metadata.MetadataTree.FindChildNode(Of Vintasoft.Imaging.Metadata.TextRegionMetadata)()
' if current page has text content
If textRegionMetadata IsNot Nothing Then
' get text region
Dim textRegion As Vintasoft.Imaging.Text.TextRegion = textRegionMetadata.GetTextRegion()
' write page text content
System.Console.Write(textRegion.TextContent)
End If
' if page separator must be added between pages
If pageNumber < images.Count Then
System.Console.WriteLine()
System.Console.WriteLine()
System.Console.WriteLine()
End If
Next
Finally
' clear and dispose images
images.ClearAndDisposeItems()
End Try
End Using
End Sub