How to insert a text into an existing PDF document in a specific position using C# and .NET

  1. Add SautinSoft.Document from Nuget.
  2. Load a PDF document.
  3. Find specific content.
  4. Insert a text before the content.
  5. Save the document to PDF.
Insert Text to PDF

Complete code

using SautinSoft.Document;
using System.Linq;

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            InsertText();
        }
        /// <summary>
        /// Insert a text into an existing PDF document in a specific position.
        /// </summary>
        /// </remarks>
        /// Details: https://sautinsoft.com/products/document/help/net/developer-guide/insert-text-to-pdf-document-net-csharp-vb.php
        /// </remarks>
        static void InsertText()
        {
            string filePath = @"..\..\..\example.pdf";
            string fileResult = @"Result.pdf";
            DocumentCore dc = DocumentCore.Load(filePath);

            // Find a position to insert text. Before this text: "> in this position".
             ContentRange cr = dc.Content.Find("> in this position").FirstOrDefault();


            // Insert new text.
            if (cr != null)
                cr.Start.Insert("New text!");
            dc.Save(fileResult);
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(filePath) { UseShellExecute = true });
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(fileResult) { UseShellExecute = true });

        }
    }
}

Download

Imports SautinSoft.Document
Imports System.Linq

Namespace Example
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			InsertText()
		End Sub
		''' <summary>
		''' Insert a text into an existing PDF document in a specific position.
		''' </summary>
		''' </remarks>
		''' Details: https://sautinsoft.com/products/document/help/net/developer-guide/insert-text-to-pdf-document-net-csharp-vb.php
		''' </remarks>
		Private Shared Sub InsertText()
			Dim filePath As String = "..\..\..\example.pdf"
			Dim fileResult As String = "Result.pdf"
			Dim dc As DocumentCore = DocumentCore.Load(filePath)

			' Find a position to insert text. Before this text: "> in this position".
			 Dim cr As ContentRange = dc.Content.Find("> in this position").FirstOrDefault()


			' Insert new text.
			If cr IsNot Nothing Then
				cr.Start.Insert("New text!")
			End If
			dc.Save(fileResult)
			System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(filePath) With {.UseShellExecute = True})
			System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(fileResult) 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).