Jak dodać java pdf watermark przy użyciu GroupDocs.Watermark for Java: przewodnik krok po kroku

W tym samouczku dowiesz się, jak dodać java pdf watermark, aby chronić pliki PDF przy użyciu wyraźnej, konfigurowalnej nakładki tekstowej. Znaki wodne są niezbędne, gdy trzeba oznaczyć poufne wersje robocze, oznaczyć raporty firmowe lub osadzić informacje prawne. GroupDocs.Watermark for Java udostępnia prostą API, która pozwala stosować znaki wodne na dowolnej stronie, kontrolować ich wygląd i utrzymywać wysoką wydajność nawet przy dużych dokumentach.

Szybkie odpowiedzi

  • Which library adds a java pdf watermark? GroupDocs.Watermark for Java.
  • Can I watermark only selected pages? Yes – use PdfArtifactWatermarkOptions to target pages.
  • Do I need a license for production? A valid license is required; a free trial is available.
  • What Java version is supported? JDK 8 or newer.
  • How fast is the operation? Up to 500‑page PDFs are processed in under 5 seconds on a typical server.

Co to jest java pdf watermark?

java pdf watermark to nakładka tekstowa lub graficzna dodawana do pliku PDF za pośrednictwem API opartego na Javie, dzięki czemu dokument jest widocznie oznaczony przy zachowaniu oryginalnej treści. Załaduj PDF przy użyciu PdfLoadOptions, utwórz TextWatermark, skonfiguruj jego styl i zastosuj go metodą Watermarker.add. Ten dwustopniowy przepływ obsługuje czcionki, kolory i pozycjonowanie stron automatycznie, umożliwiając ochronę dokumentów przy minimalnym kodzie.

Dlaczego używać GroupDocs.Watermark for Java?

GroupDocs.Watermark obsługuje ponad 30 formatów wejściowych i wyjściowych oraz może przetwarzać PDF‑y do 500 stron bez ładowania całego pliku do pamięci, zmniejszając zużycie RAM nawet o 70 %. Biblioteka działa na dowolnym środowisku Java 8+, oferuje operacje wątkowo‑bezpieczne dla zadań wsadowych i zapewnia wbudowane licencjonowanie, które po aktywacji usuwa ograniczenia wersji próbnej.

Wymagania wstępne

Zanim rozpoczniesz znakowanie swoich PDF‑ów, upewnij się, że masz następujące elementy:

  1. Libraries and dependencies – GroupDocs.Watermark for Java w wersji 24.11 lub nowszej.
  2. Environment – Działające środowisko programistyczne Java (JDK 8 lub nowszy) oraz IDE, takie jak IntelliJ IDEA lub Eclipse.
  3. Basic Java knowledge – Znajomość programowania obiektowego oraz narzędzi budujących Maven lub Gradle.

Konfiguracja GroupDocs.Watermark for Java

Aby rozpocząć, zintegrować bibliotekę GroupDocs.Watermark z projektem przy użyciu Maven lub pobierając JAR bezpośrednio.

Integracja Maven

Dodaj następującą konfigurację 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>

Bezpośrednie pobranie

Alternatywnie pobierz najnowszą wersję z GroupDocs.Watermark for Java releases.

Uzyskanie licencji

Rozpocznij pracę z GroupDocs.Watermark, uzyskując darmową licencję próbną lub kupując pełną wersję. Złóż wniosek o temporary license na ich stronie, aby uzyskać tymczasowy dostęp bez ograniczeń.

Podstawowa inicjalizacja i konfiguracja

Po zainstalowaniu zainicjalizuj bibliotekę w aplikacji Java:

Watermarker jest główną klasą używaną do ładowania dokumentów i stosowania znaków wodnych.

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

public class WatermarkSetup {
    public static void main(String[] args) {
        // Load PDF document
        PdfLoadOptions loadOptions = new PdfLoadOptions();
        String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/document.pdf";
        Watermarker watermarker = new Watermarker(inputFilePath, loadOptions);
        
        System.out.println("Watermarker initialized successfully!");
    }
}

Klasa Watermarker jest centralnym punktem wejścia, który ładuje dokument, nakłada znaki wodne i zapisuje wynik.

Przewodnik implementacji

Teraz, gdy środowisko jest skonfigurowane, dodajmy znak wodny tekstowy do Twojego PDF‑a.

Jak dodać znak wodny tekstowy do konkretnej strony w PDF?

Aby oznaczyć jedną stronę, załaduj PDF, utwórz TextWatermark z żądanym tekstem i stylem, skonfiguruj PdfArtifactWatermarkOptions, aby wskazać konkretny indeks strony, dodaj znak wodny za pomocą instancji Watermarker, a na końcu zapisz zmodyfikowany dokument. To podejście działa dla dowolnego rozmiaru PDF.

Krok 1: załaduj dokument PDF

Załaduj dokument PDF przy użyciu PdfLoadOptions:

PdfLoadOptions określa, jak PDF jest otwierany, w tym hasło i opcje renderowania.

// Step 1: Load the PDF document with PdfLoadOptions.
PdfLoadOptions loadOptions = new PdfLoadOptions();
String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/document.pdf"; // Replace with your file path
Watermarker watermarker = new Watermarker(inputFilePath, loadOptions);

Klasa PdfLoadOptions informuje bibliotekę, jak interpretować plik źródłowy, umożliwiając otwieranie PDF‑ów zabezpieczonych hasłem lub ustawianie własnych opcji renderowania.

Krok 2: utwórz i skonfiguruj znak wodny tekstowy

Utwórz obiekt TextWatermark i dostosuj go przy użyciu różnych właściwości:

TextWatermark reprezentuje nakładkę tekstową, którą można stylizować i pozycjonować na stronie PDF.

// Step 2: Create and configure the text watermark.
import com.groupdocs.watermark.common.HorizontalAlignment;
import com.groupdocs.watermark.common.VerticalAlignment;
import com.groupdocs.watermark.options.PdfArtifactWatermarkOptions;
import com.groupdocs.watermark.watermarks.Font;
import com.groupdocs.watermark.watermarks.SizingType;
import com.groupdocs.watermark.watermarks.TextWatermark;

TextWatermark watermark = new TextWatermark("Do not copy");
watermark.setFont(new Font("Arial", 36));
watermark.setForegroundColor(Color.BLUE);
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
watermark.setSizingType(SizingType.ScaleToParentDimensions);
watermark.setScaleFactor(1.0);
  • setFont definiuje krój i rozmiar czcionki znaku wodnego.
  • setForegroundColor określa kolor (np. półprzezroczysty szary).
  • Właściwości wyrównania (setHorizontalAlignment, setVerticalAlignment) precyzyjnie pozycjonują znak wodny na stronie.

Krok 3: określ opcje stron

Użyj PdfArtifactWatermarkOptions, aby dodać znak wodny do wybranych stron:

PdfArtifactWatermarkOptions definiuje, które strony i w jaki sposób znak wodny jest stosowany w PDF.

// Step 3: Specify page options for adding the watermark.
PdfArtifactWatermarkOptions options = new PdfArtifactWatermarkOptions();
options.setPageIndex(0); // Add watermark to the first page (index 0)

Metoda setPageIndex przyjmuje numer strony zaczynający się od zera; można także podać zakres lub kolekcję, aby oznaczyć wiele stron jednocześnie.

Krok 4: dodaj znak wodny i zapisz

Dodaj skonfigurowany znak wodny do dokumentu i zapisz go:

Watermarker.add stosuje znak wodny do dokumentu na podstawie podanych opcji.

// Step 4: Add the text watermark to the document.
watermarker.add(watermark, options);
watermarker.save("YOUR_OUTPUT_DIRECTORY/watermarked_document.pdf");
watermarker.close();

Metoda add nakłada znak wodny zgodnie z ustawionymi opcjami, a save zapisuje oznaczony PDF na dysku. Po zapisaniu zamknij instancję Watermarker, aby zwolnić zasoby.

Typowe problemy i rozwiązania

  1. File‑path errors – Zweryfikuj, czy ścieżki wejściowe i wyjściowe są poprawne oraz czy aplikacja ma uprawnienia odczytu/zapisu.
  2. Missing fonts – Upewnij się, że czcionka podana w setFont jest zainstalowana na serwerze lub dołączona do aplikacji.
  3. License restrictions – Jeśli pojawiają się komunikaty o limitach wersji próbnej, sprawdź, czy plik licencji został poprawnie załadowany metodą License.setLicense("path/to/license.json").

Praktyczne zastosowania

Oto kilka rzeczywistych scenariuszy, w których dodanie java pdf watermark jest szczególnie przydatne:

  • Confidentiality notices – Oznacz wersje robocze napisem „CONFIDENTIAL”, aby zniechęcić do nieautoryzowanego udostępniania.
  • Branding – Nałóż nazwę firmy lub logo na raporty, propozycje i materiały marketingowe.
  • Regulatory compliance – Osadź oświadczenia prawne, takie jak „DO NOT DISTRIBUTE”, w dokumentach regulowanych.
  • Event tickets – Dodaj unikalne identyfikatory do biletów cyfrowych, aby zapobiec oszustwom.

Uwagi dotyczące wydajności

Pracując z dużymi plikami PDF, pamiętaj o następujących wskazówkach:

  • Batch processing – Grupuj wiele plików w jednym zadaniu, aby zmniejszyć narzut uruchamiania JVM.
  • Memory management – Wywołuj watermarker.close() po każdym dokumencie, aby zwolnić zasoby natywne.
  • File‑size optimization – Zmniejsz rozdzielczość obrazów lub usuń nieużywane obiekty przed znakowaniem, aby utrzymać niską wielkość końcowego pliku.

Zakończenie

Masz już kompletną, gotową do produkcji metodę dodawania java pdf watermark przy użyciu GroupDocs.Watermark for Java. Dzięki temu możesz chronić pdf przy pomocy watermark, egzekwować branding i spełniać wymogi zgodności przy użyciu kilku linijek kodu.

Kolejne kroki

  • Eksperymentuj z różnymi czcionkami, kolorami i kątami obrotu, aby dopasować się do wytycznych stylu korporacyjnego.
  • Poznaj znaki wodne graficzne lub połączone nakładki tekst‑i‑obraz dla bardziej zaawansowanej ochrony.
  • Zintegruj przepływ znakowania z pipeline’em CI/CD, aby automatycznie oznaczać generowane raporty.

Najczęściej zadawane pytania

Q: Czy mogę dodać znak wodny do każdej strony bez podawania indeksu strony?
A: Tak – pomiń wywołanie setPageIndex w PdfArtifactWatermarkOptions, a znak wodny zostanie automatycznie zastosowany do wszystkich stron.

Q: Czy GroupDocs.Watermark obsługuje PDF‑y zabezpieczone hasłem?
A: Oczywiście. Przekaż hasło za pomocą PdfLoadOptions.setPassword("yourPassword") przed załadowaniem dokumentu.

Q: Jaki jest maksymalny rozmiar pliku, który mogę przetworzyć?
A: Biblioteka radzi sobie z PDF‑ami większymi niż 200 MB; strumieniuje strony, aby utrzymać zużycie pamięci poniżej 100 MB na typowym serwerze.

Q: Czy wymagana jest oddzielna licencja dla każdej instancji serwera?
A: Jedna licencja obejmująca całą witrynę pokrywa wszystkie instancje w tym samym domenie, ale plik licencji musi być osadzony na każdym serwerze.

Q: Czy mogę usunąć istniejący znak wodny zamiast dodawać nowy?
A: Tak – użyj Watermarker.removeWatermarks() z odpowiednimi kryteriami filtru, aby usunąć wybrane znaki wodne.


Last Updated: 2026-08-09
Tested With: GroupDocs.Watermark for Java 24.11
Author: GroupDocs

Powiązane samouczki