Jak zamienić tekst w PDF przy użyciu Java i GroupDocs.Watermark

Jeśli potrzebujesz how to replace pdf text programowo, trafiłeś we właściwe miejsce. W tym samouczku przeprowadzimy Cię przez cały proces — od konfiguracji Maven po załadowanie PDF, zlokalizowanie odpowiedniego XObject, wymianę starego ciągu znaków i ostateczne zapisanie zaktualizowanego pliku. Po drodze pokażemy także, jak add watermark pdf java przy użyciu tej samej biblioteki, co daje podwójną korzyść zarówno w zamianie tekstu, jak i brandingu.

Szybkie odpowiedzi

  • Jaka biblioteka obsługuje zamianę tekstu PDF w Javie? GroupDocs.Watermark for Java.
  • Czy mogę dodać znak wodny podczas zamiany tekstu? Yes—use the same Watermarker instance.
  • Czy potrzebuję Maven? Maven is the recommended way to pull in the library.
  • Czy wymagana jest licencja do produkcji? A valid GroupDocs.Watermark license is needed for non‑trial use.
  • Która wersja Javy jest obsługiwana? Java 8 or higher.

Co to jest „how to replace pdf text” w GroupDocs.Watermark?

GroupDocs.Watermark udostępnia wysokopoziomowe API, które abstrahuje niskopoziomową strukturę PDF (strony, XObjects, strumienie) i pozwala wyszukiwać tekst, modyfikować go oraz zachować zmiany bez naruszania integralności pliku.

Dlaczego używać GroupDocs.Watermark do zamiany tekstu w PDF?

  • Precision – Celuj w konkretne XObjects zamiast wykonywać ślepą zamianę ciągu znaków.
  • Performance – Ładuj tylko potrzebne strony; biblioteka jest zoptymalizowana pod kątem dużych plików PDF.
  • Additional Features – Bezproblemowo dodawaj znaki wodne, podpisy lub inne adnotacje w tym samym przepływie pracy.
  • Cross‑Platform – Działa tak samo na Windows, Linux i macOS.

Wymagania wstępne

  • Java Development Kit (JDK) 8+ zainstalowany i skonfigurowany.
  • Maven do zarządzania zależnościami.
  • IDE, takie jak IntelliJ IDEA, Eclipse lub NetBeans.
  • Ważna licencja GroupDocs.Watermark (wersja próbna działa do testów).

Konfiguracja Maven dla GroupDocs.Watermark

Aby dodać bibliotekę do swojego projektu, dodaj oficjalne repozytorium i zależność do pliku pom.xml.

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/watermark/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-watermark</artifactId>
      <version>24.11</version>
   </dependency>
</dependencies>

Pro tip: Utrzymuj numer wersji aktualny, regularnie sprawdzając stronę wydań.

Bezpośrednie pobranie (jeśli nie chcesz używać Maven)

Możesz również pobrać plik JAR bezpośrednio z oficjalnej strony: GroupDocs.Watermark for Java releases.

Kroki uzyskania licencji

  • Free Trial – Rozpocznij od wersji próbnej, aby przetestować wszystkie funkcje.
  • Temporary License – Poproś o tymczasowy klucz do rozszerzonej oceny.
  • Purchase – Kup pełną licencję do wdrożeń produkcyjnych.

Podstawowa inicjalizacja i konfiguracja

Poniżej znajduje się minimalny kod potrzebny do załadowania pliku PDF przy użyciu GroupDocs.Watermark.

import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.options.PdfLoadOptions;

public class PdfTextReplacement {
    public static void main(String[] args) {
        // Initialize load options
        PdfLoadOptions loadOptions = new PdfLoadOptions();
        
        // Load a sample PDF document
        String inputPdfPath = "YOUR_DOCUMENT_DIRECTORY/input.pdf";
        Watermarker watermarker = new Watermarker(inputPdfPath, loadOptions);
    }
}

Dlaczego to ważne: Inicjalizacja PdfLoadOptions daje Ci kontrolę nad ochroną hasłem, opcjami renderowania i nie tylko.

Jak zamienić tekst w PDF przy użyciu GroupDocs.Watermark (Java)

Poniższe sekcje rozkładają każdy krok potrzebny do how to replace pdf text wewnątrz konkretnego XObject.

Krok 1: Załaduj dokument PDF

Najpierw utwórz instancję PdfLoadOptions i przekaż ją do konstruktora Watermarker.

PdfLoadOptions loadOptions = new PdfLoadOptions();
String inputPdfPath = "YOUR_DOCUMENT_DIRECTORY/input.pdf";
Watermarker watermarker = new Watermarker(inputPdfPath, loadOptions);

Krok 2: Uzyskaj dostęp i iteruj przez XObjects

Zawartość PDF jest zorganizowana w strony, a każda strona może zawierać wiele XObjects (formularze, obrazy itp.). Musisz je iterować, aby znaleźć tekst, który chcesz zamienić.

import com.groupdocs.watermark.contents.PdfContent;

PdfContent pdfContent = watermarker.getContent(PdfContent.class);
for (com.groupdocs.watermark.contents.PdfXObject xObject : pdfContent.getPages().get_Item(0).getXObjects()) {
    // Process each XObject here
}

Krok 3: Zidentyfikuj docelowy tekst

Wewnątrz pętli sprawdź, czy XObject zawiera ciąg znaków, który zamierzasz zmienić.

if (xObject.getText() != null && xObject.getText().contains("Test")) {
    // Replace text
}

Krok 4: Zamień tekst

Gdy cel zostanie znaleziony, zamień go na żądaną wartość.

xObject.setText(xObject.getText().replace("Test", "Passed"));

Krok 5: Zapisz zmodyfikowany PDF

Po zakończeniu wszystkich zamian, zapisz zaktualizowany PDF na dysku.

String outputPdfPath = "YOUR_OUTPUT_DIRECTORY/output.pdf";
watermarker.save(outputPdfPath);

Krok 6: Zamknij zasób Watermarker

Zawsze zwalniaj uchwyty plików, aby uniknąć wycieków pamięci.

watermarker.close();

Dodaj znak wodny PDF Java (Opcjonalny bonus)

Jeśli chcesz również add watermark pdf java w tym samym uruchomieniu, po prostu utwórz TextWatermark i zastosuj go przed zapisaniem:

import com.groupdocs.watermark.contents.TextWatermark;
import com.groupdocs.watermark.options.WatermarkApplyOptions;

// Create a simple text watermark
TextWatermark watermark = new TextWatermark("CONFIDENTIAL", new Font("Arial", 36));
watermarker.add(watermark, new WatermarkApplyOptions());

// Then call watermarker.save(...) as shown earlier

Ten fragment jest tylko ilustracyjny i nie dodaje nowego bloku kodu; może być umieszczony obok istniejącego kodu Java, jeśli chcesz połączyć oba działania.

Praktyczne zastosowania

  • Automating Document Updates – Odświeżaj daty, ceny lub klauzule prawne w setkach PDF‑ów.
  • Personalized Reports – Wstawiaj nazwy klientów lub numery kont w locie.
  • Compliance – Zamień przestarzałą terminologię lub dodaj obowiązkowe znaki wodne marki.

Rozważania dotyczące wydajności

  • Resource Management – Zawsze wywołuj watermarker.close(), aby zwolnić zasoby natywne.
  • Batch Processing – Ładuj wiele PDF‑ów w pętli i ponownie używaj tej samej konfiguracji Watermarker, aby zmniejszyć narzut.
  • Memory Tips – W przypadku bardzo dużych PDF‑ów rozważ przetwarzanie jednej strony na raz (pdfContent.getPages().get_Item(pageIndex)), aby utrzymać niski zużycie pamięci.

Najczęściej zadawane pytania

Q: Czy mogę zamienić tekst tylko na konkretnej stronie?
A: Tak. Uzyskaj dostęp do żądanej strony poprzez pdfContent.getPages().get_Item(pageIndex) przed iteracją jej XObjects.

Q: Czy GroupDocs.Watermark obsługuje zaszyfrowane PDF‑y?
A: Absolutnie. Podaj hasło w PdfLoadOptions podczas inicjalizacji Watermarker.

Q: Co jeśli docelowy ciąg pojawia się wielokrotnie w tym samym XObject?
A: Metoda replace zamienia wszystkie wystąpienia. Jeśli potrzebna jest selektywna zamiana, użyj logiki wyrażeń regularnych na xObject.getText().

Q: Czy istnieje limit rozmiaru PDF‑ów, które mogę przetwarzać?
A: Biblioteka jest zaprojektowana do obsługi dużych plików, ale należy monitorować rozmiar sterty JVM i rozważyć przetwarzanie w partiach dla plików >100 MB.

Q: Czy mogę używać tej biblioteki z innymi narzędziami budowania, takimi jak Gradle?
A: Tak. Te same współrzędne Maven można dodać do bloku dependencies w Gradle.

Zasoby


Ostatnia aktualizacja: 2026-02-24
Testowany z: GroupDocs.Watermark 24.11 for Java
Autor: GroupDocs