Use DocumentBuilder to inserting a Break within C# and .NET

In the process of working with documents, there is often a need to insert page breaks, section breaks, or other types of breaks. The SautinSoft.Document library provides the DocumentBuilder class for this purpose, which allows you to manage the content of a document on the fly. DocumentBuilder offers a convenient interface for inserting text, images, tables, HTML, and other elements, including various types of breaks. In this article, we will look at how to use DocumentBuilder to insert breaks in documents using C# and .NET.

  1. Add SautinSoft.Document from Nuget.
  2. Create a new document.
  3. Create a Builder based on the document.
  4. Use the InsertSpecialCharacter method.

Page breaks are often used to start a new chapter in a document, while section breaks can be applied to change the page orientation or headers and footers in the middle of a document. Line breaks are useful when working with text, when you need to add extra space between lines or paragraphs.

In this code example, we create a two-column text document. If you want to start a new line, column, or page, call DocumentBuilder.InsertSpecialCharacter. Pass to this method the type of the break you need to insert that is represented by the Break Type enumeration (SpecialCharacterType).

Complete code

using System;
using SautinSoft.Document;
using System.Text;


namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get your free trial key here:   
            // https://sautinsoft.com/start-for-free/
            InsertingBreak();
        }
        /// <summary>
        /// Insert a Line Break, Column Break, Page Break using DocumentBuilder.
        /// </summary>
        /// <remarks>
        /// Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/documentbuilder-inserting-break.php
        /// </remarks>

        static void InsertingBreak()
        {
            DocumentCore dc = new DocumentCore();
            DocumentBuilder db = new DocumentBuilder(dc);

            string resultPath = @"Result.docx";
            db.PageSetup.TextColumns = new TextColumnCollection(2);

            // Insert the formatted text into the document using DocumentBuilder.
            db.CharacterFormat.FontName = "Verdana";
            db.CharacterFormat.Size = 16.5f;
            db.CharacterFormat.AllCaps = true;
            db.CharacterFormat.Italic = true;
            db.CharacterFormat.FontColor = Color.Orange;
            db.ParagraphFormat.LeftIndentation = 30;
            db.Writeln("This paragraph has a Left Indentation of 30 points.");

            db.InsertSpecialCharacter(SpecialCharacterType.LineBreak);

            // Undo the previously applied formatting.
            db.ParagraphFormat.ClearFormatting();
            db.CharacterFormat.ClearFormatting();

            db.Writeln("After this paragraph insert a column break.");
            db.InsertSpecialCharacter(SpecialCharacterType.ColumnBreak);

            db.CharacterFormat.Italic = true;
            db.CharacterFormat.FontColor = Color.DarkBlue;
            db.CharacterFormat.Size = 20f;
            db.Writeln("After this paragraph insert a page break.");
            db.InsertSpecialCharacter(SpecialCharacterType.PageBreak);

            // Save the document to the file in DOCX format.
            dc.Save(resultPath);
			
			// Important for Linux: Install MS Fonts
			// sudo apt install ttf-mscorefonts-installer -y

            // Open the result for demonstration purposes.
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(resultPath) { UseShellExecute = true });
        }
    }
}

Download

Imports System
Imports SautinSoft.Document
Imports System.Text


Namespace Example
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			InsertingBreak()
		End Sub
                ''' Get your free trial key here:   
                ''' https://sautinsoft.com/start-for-free/
		''' <summary>
		''' Insert a Line Break, Column Break, Page Break using DocumentBuilder.
		''' </summary>
		''' <remarks>
		''' Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/documentbuilder-inserting-break.php
		''' </remarks>

		Private Shared Sub InsertingBreak()
			Dim dc As New DocumentCore()
			Dim db As New DocumentBuilder(dc)

			Dim resultPath As String = "result.docx"
			db.PageSetup.TextColumns = New TextColumnCollection(2)

			' Insert the formatted text into the document using DocumentBuilder.
			db.CharacterFormat.FontName = "Verdana"
			db.CharacterFormat.Size = 16.5F
			db.CharacterFormat.AllCaps = True
			db.CharacterFormat.Italic = True
			db.CharacterFormat.FontColor = Color.Orange
			db.ParagraphFormat.LeftIndentation = 30
			db.Writeln("This paragraph has a Left Indentation of 30 points.")

			db.InsertSpecialCharacter(SpecialCharacterType.LineBreak)

			' Undo the previously applied formatting.
			db.ParagraphFormat.ClearFormatting()
			db.CharacterFormat.ClearFormatting()

			db.Writeln("After this paragraph insert a column break.")
			db.InsertSpecialCharacter(SpecialCharacterType.ColumnBreak)

			db.CharacterFormat.Italic = True
			db.CharacterFormat.FontColor = Color.DarkBlue
			db.CharacterFormat.Size = 20.0F
			db.Writeln("After this paragraph insert a page break.")
			db.InsertSpecialCharacter(SpecialCharacterType.PageBreak)

			' Save the document to the file in DOCX format.
			dc.Save(resultPath)

			' Open the result for demonstration purposes.
			System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(resultPath) 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:



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.