How to Apply Custom PDF Watermarks in C#

How to Add Watermarks to PDFs in C# Using IronPDF

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

IronPDF umozliwia dodawanie niestandardowych znakow wodnych do plikow PDF za pomoca jednej linii kodu, uzywajac ciagow HTML dla pelnej kontroli stylizacji. Stosuj tekstowe lub obrazowe znaki wodne z regulowana przezroczystoscia, rotacja i pozycjonowaniem, aby zwiekszyc bezpieczenstwo dokumentow i marke.

Szybki Start: Zastosowanie niestandardowych znakow wodnych latwo

Dodaj niestandardowe znaki wodne do plikow PDF uzywajac IronPDF za pomoca jednej linii kodu. Dostosuj znaki wodne uzywajac stylizacji HTML dla przezroczystosci, rotacji i lokalizacji za pomoca prostego systemu siatki 3x3. Ten przewodnik pokazuje, jak wzbogacic dokumenty PDF za pomoca personalizowanych znakow wodnych dla celow bezpieczenstwa i marki.

  1. Install IronPDF with NuGet Package Manager

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

    new IronPdf.PdfDocument.FromFile("input.pdf")
        .ApplyWatermark("<h1 style='opacity:0.5;'>Confidential</h1>", IronPdf.PagePosition.TopCenter)
        .SaveAs("output.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

Jakie sa podstawowe kroki dodawania znaku wodnego?

  1. Pobierz biblioteke IronPDF dla C#
  2. Wygeneruj nowy lub zaimportuj istniejacy dokument PDF
  3. Skonfiguruj ciag HTML do uzycia jako znak wodny
  4. Uzyj metody ApplyWatermark do wdrozenia znaku wodnego
  5. Dostosuj rotacje, przezroczystosc i lokalizacje znaku wodnego wedlug potrzeb

Jak moge zastosowac znak wodny do mojego PDF?

Uzyj metody ApplyWatermark do zastosowania znaku wodnego do nowo wygenerowanego lub istniejacego PDF. Ta metoda przyjmuje ciag HTML jako znak wodny, umozliwiajac wykorzystanie wszystkich funkcji HTML, w tym stylizacji CSS. Przyklad ponizej demonstruje uzycie zarowno obrazu, jak i tekstu jako znakow wodnych. Zauwaz, ze znaki wodne stosowane sa do wszystkich stron; Znaki wodne dla konkretnych stron nie sa obslugiwane.

Przed praca ze znakami wodnymi zapoznaj sie z naszymi przewodnikami na temat tworzenia plikow PDF lub konwersji HTML do PDF, aby zrozumiec podstawy generacji PDF z IronPDF.

Jakie elementy HTML moge uzyc w moim znaku wodnym?

:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark-apply-watermark.cs
using IronPdf;

string watermarkHtml = @"
<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

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

// Apply watermark
pdf.ApplyWatermark(watermarkHtml);

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

Private watermarkHtml As String = "
<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>"

Private renderer As New ChromePdfRenderer()

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

' Apply watermark
pdf.ApplyWatermark(watermarkHtml)

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

Ciag HTML znaku wodnego obsluguje wszystkie standardowe elementy HTML i stylizacje CSS. Wlacz obrazy, tekst, niestandardowe czcionki, kolory i zlozone uklady. Ta elastycznosc umozliwia tworzenie profesjonalnych znakow wodnych, ktore odpowiadaja wymaganiom marki. Dla zaawansowanych opcji stylizacji uzyj czcionek internetowych i ikon w znakach wodnych.

Jak wyglada finalny znak wodny w PDF?

Dodaj znaki wodne z obrazow w roznych formatach (PNG, JPG) oraz znaki wodne tekstowe z latwoscia uzywajac niestandardowych czcionek. Znaki wodne pojawiaja sie za glowna trescia, zapewniajac czytelnosc dokumentu przy jednoczesnym oferowaniu funkcji markowych lub bezpieczenstwa.


Jak moge dostosowac przezroczystosc i rotacje znaku wodnego?

Znaki wodne maja domyslna przezroczystosc na poziomie 50%, ktora mozna dostosowac do spelnienia wymagan. Metoda ApplyWatermark zawiera przeciazenie akceptujace rotacje jako parametr. Okresl 'rotation:' i 'opacity:' dla dostosowania tych parametrow.

Dla zlozonych scenariuszy znakow wodnych, zapoznaj sie z naszymi funkcjami stemplowania dla dodatkowych opcji dostosywania.

Jakie parametry kontroluja wyglad znaku wodnego?

:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark-apply-rotation-opacity.cs
using IronPdf;
using IronPdf.Editing;

string watermarkHtml = @"
<img style='width: 200px;' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

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

// Apply watermark with 45 degrees rotation and 70% opacity
pdf.ApplyWatermark(watermarkHtml, rotation: 45, opacity: 70);

pdf.SaveAs("watermarkOpacity&Rotation.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private watermarkHtml As String = "
<img style='width: 200px;' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>"

Private renderer As New ChromePdfRenderer()

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

' Apply watermark with 45 degrees rotation and 70% opacity
pdf.ApplyWatermark(watermarkHtml, rotation:= 45, opacity:= 70)

pdf.SaveAs("watermarkOpacity&Rotation.pdf")
$vbLabelText   $csharpLabel

Parametr rotacji akceptuje wartosci w stopniach (0-360), umozliwiajac uzyskanie znakow wodnych na przekatnej, czesto uzywanych dla dokumentow roboczych lub poufnych. Parametr przezroczystosci akceptuje wartosci od 0 do 100, gdzie 0 jest calkowicie przezroczysty, a 100 jest calkowicie nieprzezroczysty. Te parametry zapewniaja precyzyjna kontrole nad wizualnym wplywem znaku wodnego.

Praca z rozna przezroczystoscia

Rozne typy dokumentow wymagaja roznych poziomow przezroczystosci:

  • Dokumenty prawne: Uzyj 20-30% przezroczystosci dla subtelnych znakow wodnych
  • Dokumenty robocze: Uzyj 40-60% przezroczystosci dla dobrej widocznosci
  • Dokumenty poufne: Uzyj 30-50% przezroczystosci z rotacja na przekatnej
  • Dokumenty markowe: Uzyj 10-25% przezroczystosci dla profesjonalnego wygladu
// Example: Creating a subtle branded watermark
string brandWatermark = @"
<div style='font-family: Arial, sans-serif; color: #cccccc;'>
    <img style='width: 150px;' src='company-logo.png'>
    <p>© 2024 Company Name</p>
</div>";

pdf.ApplyWatermark(brandWatermark, rotation: 0, opacity: 20);
// Example: Creating a subtle branded watermark
string brandWatermark = @"
<div style='font-family: Arial, sans-serif; color: #cccccc;'>
    <img style='width: 150px;' src='company-logo.png'>
    <p>© 2024 Company Name</p>
</div>";

pdf.ApplyWatermark(brandWatermark, rotation: 0, opacity: 20);
Imports System

' Example: Creating a subtle branded watermark
Dim brandWatermark As String = "
<div style='font-family: Arial, sans-serif; color: #cccccc;'>
    <img style='width: 150px;' src='company-logo.png'>
    <p>© 2024 Company Name</p>
</div>"

pdf.ApplyWatermark(brandWatermark, rotation:=0, opacity:=20)
$vbLabelText   $csharpLabel

Jak rotacja i przezroczystosc wplywa na ostateczny wynik?


Jak umiescic moj znak wodny na PDF?

Okresl lokalizacje znaku wodnego, uzywajac siatki 3x3 podzielonej na 3 kolumny poziomo i 3 wiersze pionowo. Opcje poziome to lewa, srodek i prawa; Opcje pionowe to gora, srodek i dol. Ta konfiguracja umozliwia 9 roznych lokalizacji na kazdej stronie. Zobacz obraz ponizej dla wizualnej reprezentacji.

Siatka wyrownania znakow wodnych IronPDF pokazujaca 9 opcji pozycjonowania z wlasciwosciami wyrownania pionowego i poziomego

Dodaj znaki wodne do okreslonych lokalizacji, uzywajac enumow VerticalAlignment i HorizontalAlignment w przestrzeni nazw IronPdf.Editing. Ten system pozycjonowania integruje sie z innymi funkcjami manipulacji stronami IronPDF.

Ktore enumy wyrownania powinienem uzyc do pozycjonowania?

:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark-apply-rotation-opacity.cs
using IronPdf;
using IronPdf.Editing;

string watermarkHtml = @"
<img style='width: 200px;' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

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

// Apply watermark with 45 degrees rotation and 70% opacity
pdf.ApplyWatermark(watermarkHtml, rotation: 45, opacity: 70);

pdf.SaveAs("watermarkOpacity&Rotation.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private watermarkHtml As String = "
<img style='width: 200px;' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>
<h1>Iron Software</h1>"

Private renderer As New ChromePdfRenderer()

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

' Apply watermark with 45 degrees rotation and 70% opacity
pdf.ApplyWatermark(watermarkHtml, rotation:= 45, opacity:= 70)

pdf.SaveAs("watermarkOpacity&Rotation.pdf")
$vbLabelText   $csharpLabel

Zaawansowane techniki pozycjonowania

Dla zlozonych wymagan dotyczacych pozycjonowania, Polacz znaki wodne z niestandardowymi marginesami i transformacjami specyficznymi dla strony. Oto przyklad tworzenia wielu znakow wodnych w roznych pozycjach:

// Example: Adding multiple watermarks with different positions
string dateWatermark = $"<p style='font-size: 10px;'>Generated: {DateTime.Now:yyyy-MM-dd}</p>";
string confidentialWatermark = "<h2 style='color: red;'>CONFIDENTIAL</h2>";
string pageNumberWatermark = "<p style='font-size: 12px;'>Page {page} of {total}</p>";

// Apply date at top-left
pdf.ApplyWatermark(dateWatermark, 30, VerticalAlignment.Top, HorizontalAlignment.Left);

// Apply confidential mark at center
pdf.ApplyWatermark(confidentialWatermark, 50, VerticalAlignment.Middle, HorizontalAlignment.Center);

// Note: For page numbers, consider using Headers and Footers instead
// Example: Adding multiple watermarks with different positions
string dateWatermark = $"<p style='font-size: 10px;'>Generated: {DateTime.Now:yyyy-MM-dd}</p>";
string confidentialWatermark = "<h2 style='color: red;'>CONFIDENTIAL</h2>";
string pageNumberWatermark = "<p style='font-size: 12px;'>Page {page} of {total}</p>";

// Apply date at top-left
pdf.ApplyWatermark(dateWatermark, 30, VerticalAlignment.Top, HorizontalAlignment.Left);

// Apply confidential mark at center
pdf.ApplyWatermark(confidentialWatermark, 50, VerticalAlignment.Middle, HorizontalAlignment.Center);

// Note: For page numbers, consider using Headers and Footers instead
' Example: Adding multiple watermarks with different positions
Dim dateWatermark As String = $"<p style='font-size: 10px;'>Generated: {DateTime.Now:yyyy-MM-dd}</p>"
Dim confidentialWatermark As String = "<h2 style='color: red;'>CONFIDENTIAL</h2>"
Dim pageNumberWatermark As String = "<p style='font-size: 12px;'>Page {page} of {total}</p>"

' Apply date at top-left
pdf.ApplyWatermark(dateWatermark, 30, VerticalAlignment.Top, HorizontalAlignment.Left)

' Apply confidential mark at center
pdf.ApplyWatermark(confidentialWatermark, 50, VerticalAlignment.Middle, HorizontalAlignment.Center)

' Note: For page numbers, consider using Headers and Footers instead
$vbLabelText   $csharpLabel

Jakie sa najbardziej popularne wzorce pozycjonowania znakow wodnych?

Najlepsze praktyki dla profesjonalnych znakow wodnych

Podczas tworzenia znakow wodnych dla profesjonalnych dokumentow postepuj zgodnie z tymi najlepszymi praktykami:

  1. Zachowaj czytelnosc: Upewnij sie, ze znaki wodne nie przeszkadzaja w tresci dokumentu
  2. Spójność marki: Uzywaj kolorow firmy i czcionek zgodnych z wytycznymi marki
  3. Względy bezpieczeństwa: Dla dokumentow wrazliwych Polacz znaki wodne z szyfrowaniem PDF
  4. Wydajnosc: Dla przetwarzania wsadowego, optymalizuj watermark HTML i uzywaj operacji asynchronicznych

Znakowanie wodne w aplikacjach Enterprise

Dla aplikacji Enterprise przetwarzajacych duze ilosci plikow PDF, wprowadz znaki wodne wraz z kompresja PDF, aby zoptymalizowac rozmiary plikow. Zintegruj znakowanie wodne w swojej aplikacji generujacej PDF do zautomatyzowanego przetwarzania dokumentow.

Gotowy, aby sprawdzić, co jeszcze możesz zrobić? Zapoznaj się z naszą stroną z samouczkami tutaj: Edytuj pliki PDF

Często Zadawane Pytania

How do I add a watermark to a PDF in C#?

You can add watermarks to PDFs using IronPDF's ApplyWatermark method with just one line of code. Simply load your PDF document and call ApplyWatermark with an HTML string containing your watermark content and position: new IronPdf.PdfDocument.FromFile("input.pdf").ApplyWatermark("Confidential", IronPdf.PagePosition.TopCenter).SaveAs("output.pdf");

What types of watermarks can I add to my PDF?

IronPDF supports both text and image watermarks. You can use any HTML content as a watermark, including text with custom fonts, images in various formats (PNG, JPG), and even complex layouts with full CSS styling. The watermark appears behind the main content to ensure document readability.

Can I customize the position of my watermark?

Yes, IronPDF uses a simple 3x3 grid system for watermark positioning. You can place watermarks at positions like TopCenter, BottomRight, or any of the nine standard positions on the page. The position is specified as a parameter in the ApplyWatermark method.

How do I adjust watermark opacity and rotation?

IronPDF applies watermarks with a default opacity of 50%, but you can customize this using the opacity parameter. The ApplyWatermark method includes an overload that accepts both rotation and opacity parameters, allowing you to create semi-transparent or rotated watermarks for enhanced visual effects.

Can I apply different watermarks to specific pages?

Currently, IronPDF applies watermarks to all pages in a PDF document. Page-specific watermarks are not supported. When you use the ApplyWatermark method, the watermark will appear on every page of your PDF.

What HTML and CSS features are supported in watermarks?

IronPDF's watermark feature supports all standard HTML elements and CSS styling. This includes custom fonts, colors, web fonts, icons, and complex layouts. You can create professional watermarks that match your branding requirements using the full power of HTML and CSS.

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.