Jak zamienić tekst w pliku PDF | IronPDF

Jak zamienić tekst w PDF za pomocą C

This article was translated from English: Does it need improvement?
Translated
View the article in English

Zamieniaj tekst w plikach PDF używając C# z prostym API IronPDF - użyj ReplaceTextOnAllPages() dla zmian w całym dokumencie lub ReplaceTextOnPage() dla określonych stron. To umożliwia zautomatyzowane poprawki, dostosowywanie szablonów i dynamiczne aktualizacje treści w aplikacjach .NET.

Szybki start: Zamień tekst w PDF z IronPDF

Rozpocznij zamianę tekstu w swoich PDF-ach bez wysiłku przy użyciu IronPDF. Zaledwie kilka linii kodu pozwala szybko aktualizować lub dostosowywać dokumenty. Ten przykład pokazuje, jak zamienić tekst na wszystkich stronach PDF. Po prostu wczytaj swój PDF, określ tekst do znalezienia i zamiany, i zapisz zaktualizowany dokument. Idealne do korekty literówek lub aktualizacji informacji w szablonach, IronPDF sprawia, że zamiana tekstu w C# jest bezproblemowa. Zanurz się w tym przewodniku, aby przekształcić wydajność obsługi PDF w środowiskach .NET.

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf
  2. Skopiuj i uruchom ten fragment kodu.

    IronPdf.PdfDocument.FromFile("example.pdf")
        .ReplaceTextOnAllPages("old text", "new text")
        .SaveAs("updated.pdf");
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer


Jak mogę zamienić tekst w PDF?

Operację 'zamiany tekstu' można zastosować do każdego obiektu PdfDocument, zarówno nowo wygenerowanego, jak i zaimportowanego. Użyj metody ReplaceTextOnAllPages, podając zarówno stary, jak i nowy tekst do zamiany. Jeśli metoda nie może znaleźć specyfikowanego starego tekstu, zgłasza wyjątek z komunikatem 'Error while replacing text: failed to find text '.NET6'.'

W poniższym przykładzie kodu pokazujemy, jak zamienić tekst w nowo wygenerowanym dokumencie PDF zawierającym tekst '.NET6'. Ta funkcjonalność jest szczególnie przydatna podczas pracy z konwersją HTML do PDF lub gdy musisz edytować istniejące PDF.

Jak wygląda podstawowy kod?

:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-all-page.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>");

string oldText = ".NET6";
string newText = ".NET7";

// Replace text on all pages
pdf.ReplaceTextOnAllPages(oldText, newText);

pdf.SaveAs("replaceText.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>")

Private oldText As String = ".NET6"
Private newText As String = ".NET7"

' Replace text on all pages
pdf.ReplaceTextOnAllPages(oldText, newText)

pdf.SaveAs("replaceText.pdf")
$vbLabelText   $csharpLabel

Podczas wdrażania zamiany tekstu w swoich aplikacjach, możesz także chcieć dodać nagłówki i stopki lub zastosować niestandardowe znaki wodne do swoich PDF-ów, aby wzmocnić identyfikację i markę dokumentu.

Jak zastąpić tekst znakami nowej linii?

Funkcja zamiany tekstu obsługuje znaki nowej linii, co pozwala na zastąpienie starego tekstu nowym ciągiem znaków zawierającym wbudowane znaki nowej linii w celu uzyskania lepszego formatowania i przejrzystości wizualnej. Ta funkcja jest niezbędna, gdy trzeba zachować właściwą strukturę dokumentu lub podczas pracy z treścią tekstową składającą się z wielu wierszy. Aby to osiągnąć, dodaj znaki nowej linii (\n) do nowego ciągu. Korzystając z powyższego przykładu, zamień newText na .NET7\nnewline zamiast tylko .NET7. Takie podejście doskonale współgra z różnymi opcjami renderowania dostępnymi w IronPDF.


Jak zastąpić tekst na określonych stronach?

Aby zapewnić większą dokładność podczas zamiany tekstu w dokumencie, IronPDF oferuje opcje zamiany tekstu na jednej lub wielu stronach. Użyj metody ReplaceTextOnPage, aby zamienić tekst na określonej stronie i metody ReplaceTextOnPages, aby zamienić tekst na kilku określonych stronach. Ta precyzyjna kontrola jest szczególnie przydatna podczas pracy ze złożonymi formularzami PDF lub dokumentami o zróżnicowanej treści na poszczególnych stronach.

PoradyWszystkie indeksy stron stosują indeksowanie od zera.

Jak zastąpić tekst na jednej stronie?

:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-on-single-page.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>");

string oldText = ".NET6";
string newText = ".NET7";

// Replace text on page 1
pdf.ReplaceTextOnPage(0, oldText, newText);

pdf.SaveAs("replaceTextOnSinglePage.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>")

Private oldText As String = ".NET6"
Private newText As String = ".NET7"

' Replace text on page 1
pdf.ReplaceTextOnPage(0, oldText, newText)

pdf.SaveAs("replaceTextOnSinglePage.pdf")
$vbLabelText   $csharpLabel

Ta funkcja zastępowania pojedynczych stron dobrze integruje się z innymi operacjami dotyczącymi konkretnych stron, takimi jak dodawanie numerów stron lub dzielenie plików PDF w celu modyfikacji wybranych treści.

Jak zastąpić tekst na wielu stronach?

:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-on-multiple-pages.cs
using IronPdf;

string html = @"<p> .NET6 </p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;'></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;'></div>
<p> .NET6 </p>
<p> This is 3rd Page</p>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

string oldText = ".NET6";
string newText = ".NET7";

int[] pages = { 0, 2 };

// Replace text on page 1 & 3
pdf.ReplaceTextOnPages(pages, oldText, newText);

pdf.SaveAs("replaceTextOnMultiplePages.pdf");
Imports IronPdf

Private html As String = "<p> .NET6 </p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;'></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;'></div>
<p> .NET6 </p>
<p> This is 3rd Page</p>"

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

Private oldText As String = ".NET6"
Private newText As String = ".NET7"

Private pages() As Integer = { 0, 2 }

' Replace text on page 1 & 3
pdf.ReplaceTextOnPages(pages, oldText, newText)

pdf.SaveAs("replaceTextOnMultiplePages.pdf")
$vbLabelText   $csharpLabel

W przypadku dokumentów wielostronicowych warto rozważyć kompresję plików PDF w celu optymalizacji rozmiarów plików po operacjach zamiany tekstu, zwłaszcza w przypadku dużych dokumentów lub przetwarzania wsadowego.


Jak mogę użyć niestandardowej czcionki podczas zamiany tekstu?

Metoda ReplaceTextOnPage umożliwia także użycie niestandardowej czcionki i rozmiaru. Najpierw dodaj czcionkę do PDF, a następnie przekaż nazwę czcionki jako parametr do metody. W poniższym przykładzie używam czcionki Pixelify Sans. Wdrożenie niestandardowych czcionek jest szczególnie ważne przy zachowaniu spójności marki lub podczas pracy z językami międzynarodowymi i obsługą UTF-8.

Jakie kroki są wymagane do wdrożenia niestandardowej czcionki?

:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-custom-font.cs
using IronPdf;
using System.IO;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Use custom font .NET6</h1>");

string oldText = ".NET6";
string newText = ".NET7";

// Add custom font
byte[] fontByte = File.ReadAllBytes(@".\PixelifySans-VariableFont_wght.ttf");
var pdfFont = pdf.Fonts.Add(fontByte);

// Use custom font
pdf.ReplaceTextOnPage(0, oldText, newText, pdfFont, 24);

pdf.SaveAs("replaceCustomText.pdf");
Imports IronPdf
Imports System.IO

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Use custom font .NET6</h1>")

Private oldText As String = ".NET6"
Private newText As String = ".NET7"

' Add custom font
Private fontByte() As Byte = File.ReadAllBytes(".\PixelifySans-VariableFont_wght.ttf")
Private pdfFont = pdf.Fonts.Add(fontByte)

' Use custom font
pdf.ReplaceTextOnPage(0, oldText, newText, pdfFont, 24)

pdf.SaveAs("replaceCustomText.pdf")
$vbLabelText   $csharpLabel
Porównanie pokazujące migrację użycia niestandardowych czcionek z .NET 6 do .NET 7 ze strzałką w dół

Zaawansowane scenariusze zamiany tekstu

Oprócz podstawowej zamiany tekstu, IronPDF oferuje zaawansowane możliwości w złożonych scenariuszach. Podczas pracy z szablonami lub dokumentami dynamicznymi należy łączyć zamianę tekstu z innymi funkcjami, takimi jak stemplowanie tekstu i obrazów lub dodawanie podpisów cyfrowych. W przypadku aplikacji wymagających przetwarzania wsadowego należy zaimplementować funkcję zamiany tekstu wraz z możliwościami asynchronicznymi i wielowątkowymi, aby zoptymalizować wydajność podczas jednoczesnego przetwarzania wielu plików PDF. Jest to szczególnie przydatne w środowiskach Enterprise, gdzie przepustowość dokumentów ma kluczowe znaczenie. W przypadku zastępowania informacji wrażliwych warto zapoznać się z funkcjami redagowania IronPDF, które umożliwiają trwałe usunięcie danych poufnych, zapewniając zgodność z przepisami dotyczącymi ochrony danych.

Często Zadawane Pytania

How do I replace text across all pages of a PDF using C#?

With IronPDF, you can easily replace text across all pages using the ReplaceTextOnAllPages() method. Simply load your PDF document, call this method with the old text and new text parameters, and save the updated document. This feature is perfect for batch corrections and template updates.

Can I replace text on specific pages only instead of the entire document?

Yes, IronPDF provides the ReplaceTextOnPage() method that allows you to target specific pages for text replacement. This gives you precise control over which pages are modified, making it ideal for selective updates in multi-page documents.

What happens if the text I want to replace isn't found in the PDF?

When IronPDF cannot locate the specified text to replace, it raises an exception with a clear error message indicating that the text was not found. This helps you handle cases where the search text might not exist in the document.

Is it possible to replace text that contains newline characters?

Yes, IronPDF's replace text functionality fully supports newline characters. You can replace old text with new strings that include built-in newlines, maintaining proper document formatting and structure for multi-line content.

Can I use text replacement on PDFs created from HTML?

Absolutely! IronPDF's text replacement works seamlessly on PDFs generated from HTML conversion. Whether you've created a PDF from HTML or imported an existing document, the ReplaceTextOnAllPages() method functions identically.

What are the main steps to implement text replacement in a PDF?

The process involves five simple steps with IronPDF: First, download and install the library. Second, render or import your PDF document. Third, use ReplaceTextOnAllPages() for document-wide changes. Fourth, optionally specify page numbers for targeted replacement. Finally, save the edited PDF using SaveAs().

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 18,135,201 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.