Convert to HTML and set PageIndex and PageCount in C# and .NET


In today's document processing world, there's often a need to convert files from one format to another to improve compatibility, display on websites, or integrate with other systems. One popular solution for such tasks is the component RTF TO HTML .NET from SautinSoft library. In this article, we'll take a detailed look at how to use this library to convert an RTF document to HTML and simultaneously set the PageIndex and PageCount properties — which are essential when processing multi-page documents.

  • PageCount — the total number of pages in the document.
  • PageIndex — the current page number during processing.

Setting these properties allows you to:

  • Split a document into separate parts.
  • Automate the display of specific pages in applications or on websites.
  • Generate thumbnails or previews.
  • Ensure more precise control over the display of large documents.

This is especially useful when creating document viewing systems or publishing them in web interfaces, where it's important to display only a specific range of pages.

Additional nuances and tips:

  1. Error handling: Always use try-catch around library method calls to correctly handle possible errors.
  2. Object reuse: The library allows you to change the `PageIndex` and retrieve individual pages without re-converting the entire document.
  3. Performance optimization: For large documents, it is recommended to cache the conversion result to avoid re-converting.
  4. Working with images and styles: By default, the library preserves images, hyperlinks, and formatting. You can control their processing via parameters.
  5. Asynchronous processing: Some methods are available in asynchronous mode, which is convenient for server-side applications.

Input file:

pageIndex and pageCount html input

Output result:

pageIndex and pageCount html output

Complete code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using SautinSoft;

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            PageIndexAndCount();
        }
        /// <summary>
        /// Let's convert 1st and 2nd pages.
        /// </summary>
        static void PageIndexAndCount()
        {
			// Get your free key here:   
            // https://sautinsoft.com/start-for-free/
			
            // If you need more information about "RTF to HTML .Net" 
            // Email us at: support@sautinsoft.com.
			
            string inpFile = @"..\..\..\example.docx";
            string outFile = @"Result.html";

            RtfToHtml r = new RtfToHtml();

            // Let's convert pages: 1, 2.
            RtfToHtml.HtmlFixedSaveOptions opt = new RtfToHtml.HtmlFixedSaveOptions()
            {
                Title = "Pages 1 - 2",
                PageIndex = 0,
                PageCount = 2
            };

            try
            {
                r.Convert(inpFile, outFile, opt);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Conversion failed! {ex.Message}");
            }

            // Open the result.
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
        }
    }
}

Download

Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.IO
Imports SautinSoft

Namespace Example
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			PageIndexAndCount()
		End Sub
		''' <summary>
		''' Let's convert 1st and 2nd pages.
		''' </summary>
		Private Shared Sub PageIndexAndCount()
				    ' Get your free key here:   
            ' https://sautinsoft.com/start-for-free/
			
            ' If you need more information about "RTF to HTML .Net" 
            ' Email us at: support@sautinsoft.com.
			Dim inpFile As String = "..\..\..\example.docx"
			Dim outFile As String = "Result.html"

			Dim r As New RtfToHtml()

			' Let's convert pages: 1, 2.
			Dim opt As new RtfToHtml.HtmlFixedSaveOptions() With {
				.Title = "Pages 1 - 2",
				.PageIndex = 0,
				.PageCount = 2
			}

			Try
				r.Convert(inpFile, outFile, opt)
			Catch ex As Exception
				Console.WriteLine($"Conversion failed! {ex.Message}")
			End Try

			' Open the result.
			System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
		End Sub
	End Class
End Namespace

Download


If you need a new code example or have a question: email us at support@sautinsoft.com or ask at Online Chat (right-bottom corner of this page) or use the Form below:


Captcha

Questions and suggestions from you are always welcome!

We are developing .Net components since 2002. We know PDF, DOCX, RTF, HTML, XLSX and Images formats. If you need any assistance with creating, modifying or converting documents in various formats, we can help you. We will write any code example for you absolutely free.