Document .Net - Find and replace text in paragraphs

How to find and replace a specific text in paragraphs using C# and VB.Net

This code example shows us how to replace the text 'old text' with the text 'new text' in all paragraphs of the document.

Complete code

using System;
using System.IO;
using System.Linq;
using SautinSoft.Document;

namespace Example
    class Program
        static void Main(string[] args)
        /// <summary>
        /// Find and replace a specific text in all paragraphs in PDF document.
        /// </summary>
        /// </remarks>
        /// Details:
        /// </remarks>
        static void FindAndReplaceInParagraphs()
            string filePath = @"..\..\example.pdf";
            string fileResult = @"Result.pdf";
            DocumentCore dc = DocumentCore.Load(filePath);
            foreach (Paragraph par in dc.GetChildElements(true, ElementType.Paragraph))
                foreach (ContentRange item in par.Content.Find("old text").Reverse())
                    item.Replace("new text");
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(filePath) { UseShellExecute = true });
            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(fileResult) { UseShellExecute = true });


            Imports System
Imports System.IO
Imports System.Linq
Imports SautinSoft.Document

Module Sample
    Sub Main()
    End Sub

    ''' <summary>
    ''' Find and replace a specific text in all paragraphs in PDF document.
    ''' </summary>
    ''' </remarks>
    ''' Details:
    ''' </remarks>
    Private Sub FindAndReplaceInParagraphs()
        Dim filePath As String = "..\example.pdf"
        Dim fileResult As String = "Result.pdf"
        Dim dc As DocumentCore = DocumentCore.Load(filePath)
        For Each par As Paragraph In dc.GetChildElements(True, ElementType.Paragraph)
            For Each item As ContentRange In par.Content.Find("old text").Reverse()
                item.Replace("new text")
            Next item
        Next par
        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 Module


© SautinSoft 2002 - 2019