Jak zastosować niestandardowe znaki wodne do PDFów w Java

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

IronPDF pozwala deweloperom Java stosować niestandardowe znaki wodne do dokumentów PDF za pomocą łańcuchów HTML z pełnym wsparciem dla CSS, pozwalając na pełną kontrolę nad tekstem, obrazami, przezroczystością, rotacją oraz pozycjonowaniem w celach brandingowych czy zabezpieczających.

Szybki start: Dodawanie znaków wodnych do plików PDF w Javie

  1. Dodaj IronPDF do swojego projektu Maven lub Gradle i ustaw swój klucz licencyjny
  2. Zaladuj swoj dokument PDF, uzywajac PdfDocument.fromFile()
  3. Utwórz łańcuch HTML dla swojego znaku wodnego (tekst, obraz lub oba)
  4. Zastosuj znak wodny, uzywajac pdf.applyWatermark(watermarkHtml)
  5. Zapisz PDF z znakiem wodnym, uzywajac pdf.saveAs()
 :title=QuickStartWatermark.java
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/quickstart.java
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
pdf.applyWatermark("<h1 style='color:red;'>Confidential</h1>");
pdf.saveAs("watermarked.pdf");
 :title=QuickStartWatermark.java
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/quickstart.java
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
pdf.applyWatermark("<h1 style='color:red;'>Confidential</h1>");
pdf.saveAs("watermarked.pdf");
JAVA

Stosowanie znaków wodnych chroni dokumenty PDF i komunikuje własność lub status dokumentu. Częste przypadki użycia obejmują oznaczanie wersji roboczych jako "Poufne", osadzanie logo firmy na każdej stronie lub wskazywanie, że dokument oczekuje na zatwierdzenie. IronPDF stosuje podejście oparte na HTML i CSS, co oznacza, że każde stylizowanie, które można wyrazić w przeglądarce (niestandardowe czcionki, przezroczystość, rotacja, pozycjonowanie absolutne) działa identycznie w znaku wodnym.

Ten przewodnik obejmuje znaki wodne text, znaki wodne image, kontrolki przezroczystosci i pozycji oraz zaawansowane stemplowanie za pomoca TextStamper i ImageStamper. Dla powiązanych technik manipulacji PDF, zobacz przewodnik o tworzeniu PDF z HTML w Java lub przegląd dodawania tła i pierwszego planu.

Jak dodać tekstowy znak wodny do pliku PDF?

Uzyj metody applyWatermark, aby przystemplowac tekst na kazdej stronie dokumentu PDF. Metoda akceptuje łańcuch HTML, więc możesz stylizować znak wodny za pomocą dowolnej właściwości CSS: rodzina czcionek, rozmiar, kolor, odstęp między literami czy cień tekstu. W przykładzie poniżej dokument oznaczono jako "Poufny" na czerwono, co obejmuje najczęstszy scenariusz ścieżki audytu i kontroli dostępu.

//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/text-watermark.java
import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load an existing PDF document from file
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

        // HTML string defines the watermark appearance via CSS
        String watermarkHtml = "<h1 style='color:red;'>Confidential</h1>";

        // Apply the watermark to every page
        pdf.applyWatermark(watermarkHtml);

        // Save the watermarked PDF to a new file
        pdf.saveAs("text_watermark.pdf");
    }
}
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/text-watermark.java
import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load an existing PDF document from file
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

        // HTML string defines the watermark appearance via CSS
        String watermarkHtml = "<h1 style='color:red;'>Confidential</h1>";

        // Apply the watermark to every page
        pdf.applyWatermark(watermarkHtml);

        // Save the watermarked PDF to a new file
        pdf.saveAs("text_watermark.pdf");
    }
}
JAVA

Wywolanie applyWatermark dodaje znak wodny na wszystkie strony w jednej operacji. Domyślnie znak wodny renderuje się z 50% przezroczystością i jest wyśrodkowany na każdej stronie. Aby aktywować wszystkie funkcje biblioteki, skonfiguruj swój klucz licencyjny IronPDF przed jakimikolwiek operacjami na PDF. HTML przekazany do applyWatermark przyjmuje dowolny prawidlowy element HTML, wiec mozna dodac

, lub stylizowane tagi

dla wieloliniowych znakow wodnych.

Jak wygląda znak wodny w tekście?

Plik wyjsciowy text_watermark.pdf pokazuje slowo Poufne na czerwono, wycentrowane poziomo i pionowo na kazdej stronie. Domyślna przezroczystość 50% utrzymuje czytelność treści dokumentu pod znakiem wodnym. Dla dokumentów wielostronicowych każda strona otrzymuje ten sam stempel bez potrzeby pętli po stronach.

PoradyDla skomplikowanego formatowania tekstu, takiego jak przekatne wieloliniowe stemple, mozna laczyc wiele transformacji CSS w jednym ciagu HTML: transform: rotate(-45deg) scale(1.5).

Dla głębszych technik renderowania HTML, które mają zastosowanie do znaków wodnych, zobacz samouczek konwersji HTML do PDF.


Jak dodać znak wodny z obrazkiem do PDF?

Znaki wodne obrazow dzialaja za pomoca tej samej metody applyWatermark, owijajac tag w ciagu HTML. Pliki PNG z przezroczystym tłem są idealne do znaków wodnych z logo, ponieważ przezroczystość jest zachowana, gdy obraz jest łączony ze stroną PDF. Formaty JPEG, GIF, SVG i BMP również są obsługiwane.

//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/image-watermark.java
import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load an existing PDF document from file
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

        // Reference the image file path relative to the runtime working directory
        String watermarkHtml = "<img src='logo.png' style='width:100px;'/>";

        // Apply the image watermark to all pages
        pdf.applyWatermark(watermarkHtml);

        // Save the result
        pdf.saveAs("image_watermark.pdf");
    }
}
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/image-watermark.java
import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load an existing PDF document from file
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

        // Reference the image file path relative to the runtime working directory
        String watermarkHtml = "<img src='logo.png' style='width:100px;'/>";

        // Apply the image watermark to all pages
        pdf.applyWatermark(watermarkHtml);

        // Save the result
        pdf.saveAs("image_watermark.pdf");
    }
}
JAVA

Wlasciwosci CSS w znaczniku kontroluja rozmiar, pozycje i przezroczystosc:

//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/image-watermark-advanced.java
// Apply a 150px logo at 50% opacity, rotated 45 degrees counterclockwise
String advancedWatermarkHtml =
    "<img src='logo.png' style='width:150px; opacity:0.5; transform:rotate(-45deg);'/>";
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/image-watermark-advanced.java
// Apply a 150px logo at 50% opacity, rotated 45 degrees counterclockwise
String advancedWatermarkHtml =
    "<img src='logo.png' style='width:150px; opacity:0.5; transform:rotate(-45deg);'/>";
JAVA

Sciezka obrazu musi byc dostepna z katalogu roboczego JVM podczas dzialania. Dla wdrozen serwerowych, nalezy uzywac sciezek absolutnych lub umieszczac obraz jako dane URI Base64 wewnatrz atrybutu src, aby uniknac problemow z rozwiazaniem sciezki.

Jakie formaty plików są obsługiwane w przypadku znaków wodnych na obrazach?

IronPDF obsługuje formaty PNG, JPEG, GIF, SVG i BMP w znakach wodnych. PNG z przezroczystym tłem daje najczystsze wyniki dla znaków wodnych z logo. Plik wyjsciowy image_watermark.pdf pokazuje obraz o szerokosci 100 pikseli, wycentrowany na kazdej stronie z domyslna przezroczystoscia 50%. Aby wydobyć obrazy z istniejącego PDF do użycia w innym znaku wodnym, zobacz przewodnik ekstrakcja obrazów z PDF.


Icon Quote related to Jakie formaty plików są obsługiwane w przypadku znaków wodnych na obrazach?

Moją ulubioną biblioteką tego typu jest IronPDF. Umożliwia ona szybkie i efektywne manipulowanie plikami PDF. Posiada także wiele cennych funkcji, takich jak eksport do formatu PDF/A i cyfrowe podpisywanie dokumentów PDF.

Milan Jovanovic related to Jakie formaty plików są obsługiwane w przypadku znaków wodnych na obrazach?

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku
Icon Quote related to Jakie formaty plików są obsługiwane w przypadku znaków wodnych na obrazach?

IronOCR pozwala nam oszczędzić 40 000 USD rocznie na ręcznym przetwarzaniu, jednocześnie zwiększając produktywność i uwalniając zasoby do zadań o wysokim wpływie. Gorąco polecam.

Brent Matzelle related to Jakie formaty plików są obsługiwane w przypadku znaków wodnych na obrazach?

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku
Icon Quote related to Jakie formaty plików są obsługiwane w przypadku znaków wodnych na obrazach?

IronSuite odgrywa kluczową rolę w naszej działalności. Są to narzędzia zwiększające wydajność w całej firmie, w tym tworzenie planów pięter i poprawa zarządzania zapasami.

David Jones related to Jakie formaty plików są obsługiwane w przypadku znaków wodnych na obrazach?

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Jak kontrolować przezroczystość i wyrównanie znaku wodnego?

Metoda applyWatermark przyjmuje parametry przezroczystosci i wyrównania po ciagu HTML. Przezroczystość to liczba całkowita od 0 (całkowicie przezroczysty) do 100 (całkowicie nieprzezroczysty). Wartości między 20 a 40 dobrze sprawdzają się w większości dokumentów, utrzymując widoczność znaku wodnego bez zasłaniania tekstu głównego. Enomy VerticalAlignment i HorizontalAlignment kontroluja, na ktory naroznik lub krawedz strony jest celowany znak wodny.

//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/watermark-opacity-alignment.java
import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load an existing PDF document from file
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

        // Define the watermark HTML
        String watermarkHtml = "<h1 style='color:blue;'>Confidential</h1>";

        // Apply at 30% opacity, anchored to the top-left corner of each page
        pdf.applyWatermark(watermarkHtml, 30, VerticalAlignment.TOP, HorizontalAlignment.LEFT);

        // Save the result
        pdf.saveAs("watermark_opacity_alignment.pdf");
    }
}
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/watermark-opacity-alignment.java
import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load an existing PDF document from file
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

        // Define the watermark HTML
        String watermarkHtml = "<h1 style='color:blue;'>Confidential</h1>";

        // Apply at 30% opacity, anchored to the top-left corner of each page
        pdf.applyWatermark(watermarkHtml, 30, VerticalAlignment.TOP, HorizontalAlignment.LEFT);

        // Save the result
        pdf.saveAs("watermark_opacity_alignment.pdf");
    }
}
JAVA

Połączenie trzech opcjonalnych parametrów daje dziewięć różnych opcji pozycjonowania, po jednej dla każdego przecięcia wyrównania pionowego i poziomego. W przypadkach użycia, które wymagają znaków wodnych w wielu pozycjach na tej samej stronie lub znaków wodnych stosowanych tylko do określonego zakresu stron, klasy stemplarza zapewniają dokładniejszą kontrolę. Zobacz przewodnik w tle i pierwszym planie dla technik kompozycji warstwowej.

Jakie opcje wyrównania są dostępne?

Metoda applyWatermark obsluguje nastepujace stale wyrównania:

Wyrownanie pionowe (VerticalAlignment):

  • TOP - znak wodny zakotwiczony do gornego brzegu
  • MIDDLE - znak wodny wycentrowany pionowo
  • BOTTOM - znak wodny zakotwiczony do dolnego brzegu

Wyrownanie poziome (HorizontalAlignment):

  • LEFT - znak wodny zakotwiczony do lewego brzegu
  • CENTER - znak wodny wycentrowany poziomo
  • RIGHT - znak wodny zakotwiczony do prawego brzegu

Zwróć uwagęWywolanie domyslne applyWatermark(html) bez dodatkowych parametrow jest rownowazne przekazaniu opacity 50, VerticalAlignment.MIDDLE, HorizontalAlignment.CENTER.

Połącz dowolną wartość pionową z dowolną wartością poziomą dla precyzyjnej kontroli. Dla dokumentow wymagajacych wielu nakladajacych sie stempli, takich jak logo w prawym gornym rogu i powiadomienie o projekcie wycentrowane przekatnie, zastosuj kazdy stempel jako osobne wywolanie applyWatermark. Dla nakładek opartych na adnotacjach zobacz przykłady adnotacji.


Jak stosować zaawansowane znaki wodne z TextStamper i ImageStamper?

Metoda applyWatermark obsluguje wiekszosc potrzeb dotyczacych znakow wodnych, ale klasy TextStamper i ImageStamper oferuja programatyczna kontrole, gdy wymagane sa dokladne wspolrzedne pikselowe, celowanie w zakres stron lub dynamiczne generowanie tekstu. Obydwie klasy naleza do pakietu com.ironsoftware.ironpdf.stamp.

TextStamper przyjmuje wartosc lancucha i udostepnia wlasciwosci dla czcionki, rozmiaru czcionki, koloru czcionki, wyrówniania poziomego i pionowego oraz przezroczystosci. Obsługuje również rotację jako liczbę całkowitą (w stopniach). ImageStamper przyjmuje sciezke pliku lub array bajtow dla obrazu i udostepnia te same kontrolki wyrównania i przezroczystosci co TextStamper.

Kluczowa przewaga klas do stemplowania nad applyWatermark jest zdolnosc do celowania w konkretne strony. Przekaz liste numerow stron indeksowanych od zera do metody stamp, aby zastosowac znak wodny tylko do stron, które tego wymagaja, na przyklad stemplowanie tylko strony tytulowej raportu lub strony koncowej umowy.

//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/text-stamper.java
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Arrays;

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.TextStamper;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the target PDF document
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

        // Configure a TextStamper with custom font, rotation, and opacity
        TextStamper stamper = new TextStamper();
        stamper.setText("DRAFT");
        stamper.setFontSize(72);
        stamper.setFontColor("gray");
        stamper.setOpacity(40);
        stamper.setRotation(45);
        stamper.setVerticalAlignment(VerticalAlignment.MIDDLE);
        stamper.setHorizontalAlignment(HorizontalAlignment.CENTER);

        // Apply the stamp only to pages 0 and 1 (zero-indexed)
        pdf.stamp(stamper, Arrays.asList(0, 1));

        // Save the stamped PDF
        pdf.saveAs("text_stamped.pdf");
    }
}
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/text-stamper.java
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Arrays;

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.TextStamper;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the target PDF document
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

        // Configure a TextStamper with custom font, rotation, and opacity
        TextStamper stamper = new TextStamper();
        stamper.setText("DRAFT");
        stamper.setFontSize(72);
        stamper.setFontColor("gray");
        stamper.setOpacity(40);
        stamper.setRotation(45);
        stamper.setVerticalAlignment(VerticalAlignment.MIDDLE);
        stamper.setHorizontalAlignment(HorizontalAlignment.CENTER);

        // Apply the stamp only to pages 0 and 1 (zero-indexed)
        pdf.stamp(stamper, Arrays.asList(0, 1));

        // Save the stamped PDF
        pdf.saveAs("text_stamped.pdf");
    }
}
JAVA

Metoda stamp przyjmuje List indeksowanych od zera numerow stron, dajac precyzyjna kontrole nad tym, jakie strony otrzymuja znak wodny. Gdy lista stron nie jest dostarczona, stempel stosowany jest do wszystkich stron. To czyni TextStamper wlasciwym wyborem za kazdym razem, gdy twoja aplikacja generuje znaki wodne dynamicznie, takie jak osadzanie unikalnego identyfikatora transakcji, nazwy uzytkownika lub sygnatury czasowej na kazdym wygenerowanym PDF-ie.

Ważne Klasy TextStamper i ImageStamper dziela wspolna klasse bazowa Stamper. Używaj podejścia stemplarza zawsze, gdy Twoja aplikacja generuje znaki wodne dynamicznie, na przykład wstawiając unikalny identyfikator transakcji lub nazwę użytkownika na każdym generowanym PDF.

Do przetwarzania wsadowego, takiego jak stemplowanie setek PDF-ow z unikalnymi znakami wodnymi specyficznymi dla klienta, zaladuj i przystempluj kazdy PdfDocument w petli, nastepnie zakończ wywolaniem saveAs przed nastepną iteracja. IronPDF przetwarza każdy dokument niezależnie, więc zużycie pamięci pozostaje ograniczone. Przewodnik znakowania PDF w Javie obejmuje szczególowo ImageStamper i dodatkowe opcje stemplowania, a dokumentacja IronPDF Java dostarcza pelna dokumentacje API.

Czym różni się TextStamper od applyWatermark?

Metoda applyWatermark jest zoptymalizowana pod katem szybkich, konsekwentnych stempli wielostronicowych z lancuchow HTML. TextStamper i ImageStamper adresuja sytuacje, w których applyWatermark jest niewystarczajacy: celowanie w podzbior stron, stosowanie wielu roznych stempli z roznymi konfiguracjami lub budowanie parametrow znakow wodnych programatycznie z bazy danych lub danych wejsciowych uzytkownika. Oba podejścia produkują wyjście wektorowej jakości osadzone bezpośrednio w strumieniu treści PDF, dzięki czemu znaki wodne przetrwają ponowne zapisywanie, drukowanie oraz czytniki PDF, które nie honorują opcjonalnych warstw treści.

Deweloperzy pracujący z biblioteką Apache PDFBox do znakowania wodnego znajdą podejście IronPDF znacząco prostsze. PDFBox wymaga recznego konstruowania strumieni tresci i zarzadzania zasobami, podczas gdy applyWatermark przyjmuje zwykly lancuch HTML. Przewodnik znakowania iText na Baeldung ilustruje porownywalne zadanie za pomoca iText, które obejmuje tworzenie obiektow PdfStampAnnotation i dodawanie ich przez pipeline PdfCanvas. IronPDF redukuje to do pojedynczego wywolania metody.

PoradyAby programatycznie zweryfikowac wynik znakowania wodnego, wyodrebnij zawartosc tekstowa za pomocą PdfDocument.extractAllText() i sprawdz, czy oczekiwany lancuch znaku wodnego jest tam, albo uzyj dyskusji w spolecznosci Stack Overflow na temat manipulacji plikami PDF w Javie dla powszechnych wzorcow rozwiazywania problemów.


Jakie są kolejne kroki w znakowaniu wodnym PDF w Java?

Ten przewodnik obejmuje cztery podejscia do znakowania PDF-ow w IronPDF dla Java: proste znaki wodne tekstowe przez applyWatermark, znaki wodne obrazowe za pomoca tagow HTML , kontrola przezroczystosci i wyrównania przez parametry metody oraz programatyczne oznaczanie stemplem ze TextStamper i ImageStamper dla zaawansowanych przypadkow uzycia.

Rozpocznij darmowy okres próbny, aby przetestować znakowanie wodne w swojej aplikacji Java. Okres próbny oferuje pełny dostęp do wszystkich funkcji stemplowania i znakowania wodnego bez limitu czasowego na ocenę. Gdy będziesz gotowy do wdrożenia, zapoznaj się z opcjami licencyjnymi, aby znaleźć poziom, który pasuje do Twojego użycia.

Gotowy, aby sprawdzić, co jeszcze możesz zrobić? Sprawdź pełną stronę przewodnika tutaj: IronPDF for Java How-To Guides

Często Zadawane Pytania

Jak dodac tekstowy znak wodny do PDF w Javie?

Załaduj swój PDF z PdfDocument.fromFile(), a następnie wywołaj pdf.applyWatermark() z ciągiem HTML. IronPDF renderuje dowolny prawidłowy HTML i CSS, więc możesz ustawić kolor, rozmiar czcionki i przezroczystość bezpośrednio na elemencie.

Czy mogę używać obrazów jako znaków wodnych w Java?

Tak. Przekaż tag <img> wewnątrz ciągu HTML do applyWatermark(). Pliki PNG z przezroczystymi tłami dają najczystsze wyniki. Możesz również użyć klasy ImageStamper do celowania w zakres stron.

Jak kontrolować przezroczystość znaku wodnego?

Przekaż liczbę całkowitą od 0 (całkowicie przezroczysta) do 100 (całkowicie nieprzezroczysta) jako drugi argument do applyWatermark(). Wartości między 20 a 40 dobrze działają dla większości dokumentów, nie zasłaniając tekstu głównego.

Czy mogę obrócić znak wodny na ukos?

Tak. Dodaj styl CSS transform: rotate(-45deg) do swojego elementu HTML zanim przekażesz go do applyWatermark(). IronPDF stosuje wszystkie standardowe transformacje CSS3 podczas renderowania.

Jaka jest różnica między applyWatermark a TextStamper?

applyWatermark() to najszybsze podejście do stosowania tego samego znaku HTML na każdej stronie. TextStamper oferuje programatyczną kontrolę nad czcionką, rotacją i listą stron do celowania tylko w określone strony.

Jak umiejscowić znak wodny w konkretnym miejscu?

Przekaż wartości wyliczeniowe VerticalAlignment i HorizontalAlignment jako trzeci i czwarty argument do applyWatermark(). Dostępne położenia obejmują GÓRĘ, ŚRODEK, DÓŁ w połączeniu z LEWO, ŚRODEK, PRAWO.

Czy mogę stosować różne znaki wodne do różnych stron?

Tak. Użyj TextStamper lub ImageStamper i przekaż listę numerów stron indeksowanych od zera do metody stamp(), aby celować tylko w strony, które wymagają określonego znaku wodnego.

Czy mogę połączyć tekstowe i obrazowe znaki wodne w tym samym PDF?

Tak. Wywołuj applyWatermark() wiele razy lub dokonaj wielu wywołań stamp() przed zapisaniem. Każde wywołanie dodaje nową warstwę do strumienia zawartości PDF.

Darrius Serrant
Inżynier oprogramowania Full Stack (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.6 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

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