Jak zastąpić tekst w pliku PDF

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

Aby zamienić tekst w PDF za pomocą IronPDF Java, użyj metody replaceText z PageSelection, aby określić strony i podać stare oraz nowe ciągi tekstowe. Umożliwia to automatyczną edycję treści plików PDF w celu poprawiania literówek, aktualizowania informacji i dostosowywania szablonów.

Szybki start: Zastąpienie tekstu w pliku PDF za pomocą języka Java

  1. Dodaj zależność IronPDF do swojego projektu
  2. Utwórz lub załaduj dokument PDF
  3. Wywołaj pdf.replaceText(PageSelection.firstPage(), "oldText", "newText")
  4. Zapisz zmodyfikowany PDF za pomocą pdf.saveAs("output.pdf")

Wprowadzenie

Funkcja zamiany tekstu w IronPDF zapewnia programistom potężne narzędzia do programowej modyfikacji istniejącej zawartości plików PDF. Bez względu na to, czy aktualizujesz dokumentację produktu, poprawiasz błędy w generowanych raportach, czy tworzysz spersonalizowane dokumenty z szablonów, metoda replaceText oferuje precyzyjną kontrolę nad modyfikacjami treści. Ta funkcja jest szczególnie przydatna podczas pracy z formularzami PDF lub gdy konieczne jest zachowanie spójnego formatowania podczas aktualizacji określonych elementów tekstu.

Jak zastąpić tekst na jednej stronie?

Aby wymienić tekst, wystarczy wywołać metodę replaceText. Metoda przyjmuje trzy parametry: PageSelection określa stronę, ciąg znaków reprezentuje stary tekst, a trzeci parametr to nowy tekst. W poniższym przykładzie PageSelection.firstPage() pobiera pierwszą stronę PDF. Wszystkie wystąpienia .NET6 są zastępowane przez .NET7. Metoda zgłasza wyjątek wykonania, jeśli nie może znaleźć określonego starego tekstu.

IronPDF błąd konsoli pokazujący Exception_RemoteException przy zamianie tekstu '.NET7' - nie udało się znaleźć określonego tekstu

Jakich parametrów potrzebuje replaceText?

```java :title=Przykład zamiany tekstu import com.ironsoftware.IronPDF.*; import com.ironsoftware.IronPDF.edit.PageSelection; import java.io.IOException;

/**

  • Główna klasa aplikacji służąca do zademonstrowania sposobu zamiany tekstu w pliku PDF. */ public class App {

    public static void main(String[] args) throws IOException {

    // Ustaw klucz licencyjny IronPDF – wymagany do użytku produkcyjnego
    License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
    
    // Renderowanie treści HTML do formatu PDF
    // Tworzy nowy plik PDF na podstawie treści HTML
    PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
    
    // Zdefiniuj stary i nowy tekst do zastąpienia
    String oldText = ".NET6";  // Tekst do wyszukania
    String newText = ".NET7";  // Tekst zastępczy
    
    // Zastąp wszystkie wystąpienia oldText tekstem newText na pierwszej stronie
    // PageSelection.firstPage() wybiera tylko pierwszą stronę (indeks 0)
    PDF.replaceText(PageSelection.firstPage(), oldText, newText);
    
    // Zapisz wynikowy dokument PDF
    PDF.saveAs("replaceText.PDF");

    } }

PoradyWszystkie indeksy stron stosują indeksowanie od zera.

Metoda replaceText wykonuje dopasowanie uwzględniające wielkość liter domyślnie. "net6" i "NET6" są traktowane jako różne ciągi znaków. Podczas konwersji plików HTML do formatu PDF upewnij się, że tekst wyszukiwania dokładnie odpowiada temu, który pojawia się w wygenerowanym pliku PDF. W przypadku bardziej zaawansowanych operacji na tekście warto rozważyć wyodrębnienie tekstu z plików PDF w celu weryfikacji treści przed zastąpieniem.

Jak wygląda wynik?


Jak mogę zastąpić tekst na wielu stronach?

Użyj tej samej metody replaceText, aby zamienić tekst na wielu stronach. Wywołaj metodę pageRange z klasy PageSelection i wpisz listę liczb całkowitych, aby określić strony. W poniższym przykładzie tekst został zastąpiony tylko na pierwszej i trzeciej stronie. Takie podejście sprawdza się dobrze w przypadku dokumentów z jednolitymi nagłówkami lub stopkami na określonych stronach lub podczas aktualizacji informacji pojawiających się w wielu miejscach w pliku PDF.

Które strony mogę wybrać do zamiany tekstu?

import com.ironsoftware.IronPDF.*;
import com.ironsoftware.IronPDF.edit.PageSelection;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;

/**
 * Main application class for demonstrating how to replace text on multiple pages of a PDF.
 */
public class App {

    public static void main(String[] args) throws IOException {

        // Set the IronPDF license key - see https://ironpdf.com/java/licensing/
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // HTML content that will be converted to a 3-page PDF
        // Page breaks are created using CSS page-break-after property
        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>";

        // Render the HTML content into a PDF
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);

        // Zdefiniuj stary i nowy tekst do zastąpienia
        String oldText = ".NET6";
        String newText = ".NET7";

        // Define the pages where text replacement should occur 
        // Page numbers are zero-indexed: 0 = first page, 2 = third page
        List<Integer> pages = Arrays.asList(0, 2);

        // Replace the text on specified pages only
        // The second page (index 1) will remain unchanged
        pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);

        // Zapisz wynikowy dokument PDF
        pdf.saveAs("replaceTextOnMultiplePages.pdf");
    }
}
import com.ironsoftware.IronPDF.*;
import com.ironsoftware.IronPDF.edit.PageSelection;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;

/**
 * Main application class for demonstrating how to replace text on multiple pages of a PDF.
 */
public class App {

    public static void main(String[] args) throws IOException {

        // Set the IronPDF license key - see https://ironpdf.com/java/licensing/
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // HTML content that will be converted to a 3-page PDF
        // Page breaks are created using CSS page-break-after property
        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>";

        // Render the HTML content into a PDF
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);

        // Zdefiniuj stary i nowy tekst do zastąpienia
        String oldText = ".NET6";
        String newText = ".NET7";

        // Define the pages where text replacement should occur 
        // Page numbers are zero-indexed: 0 = first page, 2 = third page
        List<Integer> pages = Arrays.asList(0, 2);

        // Replace the text on specified pages only
        // The second page (index 1) will remain unchanged
        pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);

        // Zapisz wynikowy dokument PDF
        pdf.saveAs("replaceTextOnMultiplePages.pdf");
    }
}
JAVA

Podczas tworzenia wielostronicowych plików PDF z HTML zrozumienie niestandardowych rozmiarów stron PDF i ustawień orientacji stron pomaga zapewnić prawidłowe wyświetlanie treści na wszystkich stronach przed zastosowaniem zamiany tekstu.

Co się stanie, jeśli pominę strony podczas wymiany?


Jakie opcje wyboru stron są dostępne?

Korzystanie z metod PageSelection pozwala programistom określić, które strony należy zmodyfikować. Pełna lista parametrów znajduje się poniżej.

Zwróć uwagęMetody klasy PageSelection są statyczne. Nie jest wymagane tworzenie instancji. Indeksy stron rozpoczynają się od 0.

Które metody są przeznaczone dla pojedynczych stron, a które dla wielu stron?

  • allPages: Wybiera wszystkie strony PDF
  • firstPage: Wybiera pierwszą stronę PDF
  • lastPage: Wybiera ostatnią stronę PDF
  • pageRange(int startIndex, int endIndex): Określa zakres stron (np. 0 do 2 wybiera strony 3)
  • pageRange(List<Integer> pageList): Wybiera konkretne strony z listy (np. [0, 2] wybiera strony 1 i 3)
  • singlePage(int pageIndex): Określa pojedynczą stronę PDF

Kiedy należy używać poszczególnych metod PageSelection?

Użyj firstPage() lub lastPage() dla szybkich edycji nagłówków i stopek dokumentu. Wybierz pageRange() przy aktualizacji wielu kolejnych stron, takich jak rozdziały. Wybierz singlePage() dla celowych poprawek i zastosuj allPages() do globalnych operacji znajdź i zamień w całym dokumencie.

Podczas pracy z scalonymi PDF, użyj pageRange(), aby zaktualizować tylko strony z określonego źródłowego dokumentu. Podobnie, w przypadku dokumentów zawierających zakładki i konspekty, należy wskazać konkretne sekcje, podając zakres stron.

Najlepsze praktyki dotyczące zamiany tekstu

Podczas wdrażania zamiany tekstu w aplikacjach Java należy wziąć pod uwagę następujące ważne czynniki:

Optymalizacja wydajności: Załaduj klucz licencyjny raz podczas uruchamiania aplikacji, a nie przed każdą operacją. Zwiększa to wydajność podczas przetwarzania wielu dokumentów. Dowiedz się więcej o efektywnym wykorzystaniu kluczy licencyjnych.

Obsługa błędów: Operacje zastępowania tekstu należy umieścić w blokach try-catch, aby płynnie obsługiwać potencjalne wyjątki. Najczęstszy wyjątek występuje, gdy nie można znaleźć określonego tekstu. Rozważ wdrożenie etapu walidacji poprzez wyodrębnienie tekstu z pliku PDF w celu sprawdzenia jego obecności.

Zachowanie formatowania: Metoda replaceText zachowuje oryginalne formatowanie tekstu, w tym rodzinę czcionek, rozmiar, kolor i styl. Dzięki temu idealnie nadaje się do aktualizacji treści przy zachowaniu spójności wizualnej. Aby uzyskać większą kontrolę nad formatowaniem, rozważ ponowne wygenerowanie pliku PDF z HTML przy użyciu niestandardowych ustawień renderowania.

Praca z dokumentami złożonymi: W przypadku plików PDF zawierających formularze należy stosować specjalistyczne metody wypełniania formularzy PDF zamiast zastępowania tekstu. Dzięki temu funkcjonalność pól formularza pozostaje nienaruszona.

Typowe przypadki użycia

Zastępowanie tekstu w plikach PDF ma wiele praktycznych zastosowań w różnych branżach:

Generowanie dokumentów na podstawie szablonów: Twórz szablony PDF wielokrotnego użytku z tekstem zastępczym, który można zastąpić rzeczywistymi danymi. Takie podejście sprawdza się dobrze w przypadku faktur, umów i raportów, gdzie układ pozostaje spójny, ale treść się zmienia.

Zbiorcza aktualizacja dokumentów: aktualizuj informacje o firmie, adresy lub dane kontaktowe w wielu plikach PDF jednocześnie. Jest to szczególnie przydatne podczas rebrandingu lub gdy zmieniają się informacje regulacyjne.

Lokalizacja i tłumaczenie: Zastąp treść tekstową, aby stworzyć zlokalizowane wersje dokumentów dla różnych rynków. Należy to połączyć z obsługą niestandardowych czcionek, aby zapewnić prawidłowe renderowanie znaków w różnych językach.

Dynamiczna personalizacja treści: Personalizuj pliki PDF dla poszczególnych odbiorców, zastępując tekst zastępczy informacjami specyficznymi dla klienta, tworząc bardziej angażujące doświadczenie dla odbiorców dokumentów.

Często Zadawane Pytania

How do I replace text in a PDF using Java?

To replace text in a PDF using IronPDF Java, use the replaceText method. Simply call pdf.replaceText(PageSelection.firstPage(), "oldText", "newText") to replace all instances of the old text with the new text on the specified page. IronPDF will automatically find and replace all occurrences while maintaining the original formatting.

What parameters does the replaceText method require?

The replaceText method in IronPDF requires three parameters: PageSelection to specify which pages to modify, a string containing the text to find, and a string with the replacement text. For example, pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7") replaces all instances of '.NET6' with '.NET7' on the first page.

Can I replace text on specific pages only?

Yes, IronPDF allows you to replace text on specific pages using the PageSelection parameter. You can use PageSelection.firstPage() for the first page, PageSelection.lastPage() for the last page, or PageSelection.pageRange() to specify a custom range of pages where the text replacement should occur.

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

When IronPDF cannot find the specified text to replace, it throws a runtime exception (Exception_RemoteException). This ensures you're aware when a replacement operation fails, allowing you to handle the error appropriately in your Java application.

Can I use this feature to update templates or fix typos in PDFs?

Absolutely! IronPDF's text replacement functionality is perfect for updating templates, fixing typos, and customizing documents. Whether you're correcting errors in generated reports, updating product documentation, or creating personalized documents from templates, the replaceText method provides precise control over content modifications.

Does replacing text maintain the original PDF formatting?

Yes, IronPDF's replaceText method maintains the original formatting of your PDF document. When you replace text, the new content inherits the same font, size, color, and styling as the original text, ensuring your document's appearance remains consistent after modifications.

Darrius Serrant
Full Stack Software Engineer (WebOps)

Darrius Serrant posiada tytuł licencjata z informatyki z Uniwersytetu Miami i pracuje jako Full Stack WebOps Marketing Engineer w Iron Software. Już od młodych lat zainteresował się kodowaniem, postrzegając informatykę jako zarówno tajemniczą, jak i dostępną, co czyni ją doskonałym medium dla kreatywności ...

Czytaj więcej
Gotowy, aby rozpocząć?
Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

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