Как найти и заменить определенный текст в абзацах с помощью C# и .NET

  1. Добавьте SautinSoft.Document из Nuget.
  2. Загрузите документ.
  3. Выполните итерацию по всем абзацам.
  4. Найдите и замените текст в каждом абзаце.
  5. Сохраните документ.

Этот пример кода показывает нам, как заменить текст "old text" текстом "new text" во всех параграфах документа.

Полный код

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

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get your free 30-day key here:   
            // https://sautinsoft.com/start-for-free/

            FindAndReplaceInParagraphs();
        }
        /// <summary>
        /// Find and replace a specific text in all paragraphs in PDF document.
        /// </summary>
        /// <remarks>
        /// Details: https://sautinsoft.com/products/document/help/net/developer-guide/replace-text-paragraphs-in-pdf-document-net-csharp-vb.php
        /// </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");
                }
            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 System
Imports System.IO
Imports System.Linq
Imports SautinSoft.Document

Module Sample
    Sub Main()
        FindAndReplaceInParagraphs()
    End Sub
    ''' Get your free 30-day key here:   
    ''' https://sautinsoft.com/start-for-free/
    ''' <summary>
    ''' Find and replace a specific text in all paragraphs in PDF document.
    ''' </summary>
    ''' <remarks>
    ''' Details: https://sautinsoft.com/products/document/help/net/developer-guide/replace-text-paragraphs-in-pdf-document-net-csharp-vb.php
    ''' </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
        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 Module

Download


Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу [email protected] или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже:



Вопросы и предложения всегда приветствуются!

Мы разрабатываем компоненты .Net с 2002 года. Мы знаем форматы PDF, DOCX, RTF, HTML, XLSX и Images. Если вам нужна помощь в создании, изменении или преобразовании документов в различных форматах, мы можем вам помочь. Мы напишем для вас любой пример кода абсолютно бесплатно.