Stamp Text & Image on PDFs using C# and IronPDF
IronPDF stempluje tekst, obrazy, treści HTML i kody kreskowe na istniejących dokumentach PDF w C#, używając klas TextStamper, ImageStamper, HTMLStamper i BarcodeStamper z precyzyjną kontrolą pozycjonowania.
Stemplowanie nakłada dodatkową zawartość na istniejące dokumenty PDF. Stemple dodają informacje, etykiety, znaki wodne lub adnotacje do PDFów. Użyj stempli do dodawania nagłówków i stopek lub tworzenia niestandardowych znaków wodnych dzięki rozbudowanym możliwościom stemplowania IronPDF.
IronPDF udostępnia cztery stemple: TextStamper, ImageStamper, HTMLStamper i BarcodeStamper. HTMLStamper wykorzystuje wszystkie funkcje HTML z CSS, podobnie do konwersji łańcuchów HTML do PDF.
Szybki start: Natychmiastowe stemplowanie tekstu na PDFach
Użyj klasy TextStamper IronPDF, aby dodać adnotacje tekstowe, znaki wodne lub etykiety do dokumentów PDF. Poniższy przykład pokazuje stemplowanie tekstu na pliku PDF za pomocą metody ApplyStamp.
-
Install IronPDF with NuGet Package Manager
-
Skopiuj i uruchom ten fragment kodu.
var pdf = new IronPdf.PdfDocument("input.pdf"); var stamper = new IronPdf.Editing.TextStamper() { Text = "Confidential", FontSize = 50, Opacity = 50, VerticalAlignment = IronPdf.Editing.VerticalAlignment.Middle, HorizontalAlignment = IronPdf.Editing.HorizontalAlignment.Center }; pdf.ApplyStamp(stamper); pdf.SaveAs("stamped.pdf"); -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
Minimalny proces (5 kroków)
- Pobierz bibliotekę C# do stemplowania tekstu i obrazów
- Utwórz i skonfiguruj pożądaną klasę stempli
- Użyj metody
ApplyStampdo zastosowania stempla na PDFie - Stosuj wiele stempli za pomocą metody
ApplyMultipleStamps - Określ określone strony, na które mają zostać zastosowane stemple
Jak wystemplować tekst na PDFach?
Utwórz obiekt TextStamper zawierający wszystkie ustawienia wyświetlania. Przekaż obiekt TextStamper do metody ApplyStamp. Właściwość Text ustawia wyświetlany tekst. Skonfiguruj rodzinę czcionek, stylizację czcionek i lokalizację stempla.
TextStamper zapewnia rozbudowane opcje dostosowywania, podobnie jak zarządzanie czcionkami w dokumentach PDF. Użyj czcionek systemowych lub Google Fonts, ustawiając UseGoogleFont na wartość true.
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-text.cs
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
Jak wygląda plik PDF z tłumaczeniem?
Jak utworzyć stemple tekstowe z wieloma liniami?
Użyj tagu <br> dla tekstu wielowierszowego w TextStamper. Na przykład "linia 1
linia 2" tworzy "linia 1" na pierwszej linii i "linia 2" na drugiej linii. To tworzy stemple adresowe lub znaki wodne z wieloma liniami.
Jak wystemplować obrazy na PDFach?
Utwórz obiekt ImageStamper i użyj metody ApplyStamp, aby dodać obrazy do dokumentów. Drugi parametr metody akceptuje indeks strony dla stemplowania pojedynczych lub wielu stron. Poniższy przykład stempluje obraz na stronie 1 PDFa.
Dla złożonych operacji obrazówych, zbadaj dodawanie obrazów do PDFów lub pracę z plikami obrazu zakodowanymi jako base64.
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-image.cs
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create image stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
Jak wygląda wynik stemplowania obrazu?
Jakie formaty obrazów są obsługiwane?
ImageStamper obsługuje PNG, JPEG, GIF i SVG poprzez referencje URI lub ścieżki plików. Upewnij się, że masz odpowiednie połączenie z siecią dla zdalnych obrazów. Dla środowisk Azure rozważ użycie obrazów z Azure Blob Storage.
Jak mogę zastosować wiele stempli?
Użyj ApplyMultipleStamps, aby zastosować wiele stempli, przekazując tablicę stempli. Ta metoda efektywnie przetwarza kilka stempli w jednej operacji.
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-multiple-stamps.cs
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create two text stampers
TextStamper stamper1 = new TextStamper()
{
Text = "Text stamp 1",
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Left,
};
TextStamper stamper2 = new TextStamper()
{
Text = "Text stamp 2",
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Right,
};
Stamper[] stampersToApply = { stamper1, stamper2 };
// Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply);
pdf.SaveAs("multipleStamps.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create two text stampers
Private stamper1 As New TextStamper() With {
.Text = "Text stamp 1",
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalAlignment = HorizontalAlignment.Left
}
Private stamper2 As New TextStamper() With {
.Text = "Text stamp 2",
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalAlignment = HorizontalAlignment.Right
}
Private stampersToApply() As Stamper = { stamper1, stamper2 }
' Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply)
pdf.SaveAs("multipleStamps.pdf")
Co się stanie, gdy stemple się pokrywają?
Czy mogę mieszać różne typy stempli?
ApplyMultipleStamps akceptuje tablice zawierające dowolne typy stempli. Połącz TextStamper, ImageStamper, HTMLStamper i BarcodeStamper w jednej operacji. Twórz zaawansowane układy dokumentów z nagłówkami, stopkami, znakami wodnymi i kodami identyfikacyjnymi jednocześnie.
Jak kontrolować lokalizację stempla?
Określ miejsce stempla za pomocą siatki 3x3 z trzema poziomymi kolumnami i trzema pionowymi wierszami. Wybierz wyrównanie poziome: lewo, środek, prawo. Wybierz wyrównanie pionowe: góra, środek, dół. Dostosuj przesunięcia poziome i pionowe dla precyzyjnego pozycjonowania. Zobacz obraz poniżej dla wizualnej reprezentacji.
Jakie są kluczowe właściwości pozycjonowania?
HorizontalAlignment: Wyrównanie poziome względem strony. Domyślnie:HorizontalAlignment.Center.VerticalAlignment: Wyrównanie pionowe względem strony. Domyślnie:VerticalAlignment.Middle.HorizontalOffset: Przesunięcie poziome. Domyślnie: 0, jednostka:MeasurementUnit.Percentage. Wartości dodatnie przesuwają w prawo, ujemne przesuwają w lewo.VerticalOffset: Przesunięcie pionowe. Domyślnie: 0, jednostka:MeasurementUnit.Percentage. Wartości dodatnie przesuwają w dół, ujemne przesuwają w górę.
Jak ustawić precyzyjne przesunięcia?
Określ HorizontalOffset i VerticalOffset używając klasy Length. Domyślna jednostka miary to procent. Dostępne jednostki to całe, milimetry, centymetry, piksele i punkty. Umożliwia to precyzyjne pozycjonowanie, takie jak ustawianie niestandardowych marginesów w dokumentach PDF.
Kod
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-location.cs
using IronPdf.Editing;
using System;
// Create text stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Top,
// Specify offsets
HorizontalOffset = new Length(10),
VerticalOffset = new Length(10),
};
Imports IronPdf.Editing
Imports System
' Create text stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {
.HorizontalAlignment = HorizontalAlignment.Center,
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalOffset = New Length(10),
.VerticalOffset = New Length(10)
}
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.
Jak stemplować zawartość HTML?
Użyj klasy HtmlStamper, aby stemplować tekst i obrazy. HtmlStamper generuje projekty HTML z CSS, a następnie stemple je na dokumentach PDF. Właściwość HtmlBaseUrl określa bazowy URL dla zasobów łańcuchów HTML, takich jak pliki CSS i obrazy. Używa to tej samej maszyny renderującej co konwersja HTML na PDF.
Kod
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-multiple-stamps.cs
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create two text stampers
TextStamper stamper1 = new TextStamper()
{
Text = "Text stamp 1",
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Left,
};
TextStamper stamper2 = new TextStamper()
{
Text = "Text stamp 2",
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Right,
};
Stamper[] stampersToApply = { stamper1, stamper2 };
// Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply);
pdf.SaveAs("multipleStamps.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create two text stampers
Private stamper1 As New TextStamper() With {
.Text = "Text stamp 1",
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalAlignment = HorizontalAlignment.Left
}
Private stamper2 As New TextStamper() With {
.Text = "Text stamp 2",
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalAlignment = HorizontalAlignment.Right
}
Private stampersToApply() As Stamper = { stamper1, stamper2 }
' Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply)
pdf.SaveAs("multipleStamps.pdf")
Jakie są podstawowe właściwości stempla HTML?
Html: Fragment HTML do ostemplowania na twoim PDF. Zewnętrzne odniesienia do JavaScriptu, CSS i obrazów są odnoszone doHtmlBaseUrl.HtmlBaseUrl: Bazowy URL dla zewnętrznych odniesień do plików CSS, JavaScript i obrazów.CssMediaType: Włącza style CSS Media="screen". UstawienieAllowScreenCss=falsegeneruje stemple używając CSS media="print". Domyślnie:PdfCssMediaType.Screen.
Dlaczego używać stempla HTML zamiast tekstowego?
HTMLStamper zapewnia pełne wsparcie dla HTML i CSS dla złożonych układów, wielu czcionek, kolorów i osadzonych obrazów na jednym stemplu. Idealne dla bogatych treści wodnych znamion wodnych lub nagłówków. Utrzymuje spójność marki i działa z responsywnymi projektami CSS.
Jak stemplować kody kreskowe?
Klasa BarcodeStamper stempluje kody kreskowe bezpośrednio na istniejące dokumenty PDF. Obsługuje typy kodów kreskowych: QRCode, Code128 i Code39.
Kod
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-text.cs
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
Jakie opcje konfiguracji są dostępne dla kodów kreskowych?
Value: Wartość string kodu kreskowego.BarcodeType: Typ kodowania obsługujący QRCode, Code128 i Code39. Domyślnie: QRCode.Width: Szerokość renderowanego kodu kreskowego w pikselach. Domyślnie: 250px.Height: Wysokość renderowanego kodu kreskowego w pikselach. Domyślnie: 250px.
Kiedy używać każdego z typów kodów kreskowych?
QRCode obsługuje adresy URL i duże zestawy danych (do 4 296 znaków alfanumerycznych). Code128 jest odpowiedni dla danych alfanumerycznych z wysokimi wymaganiami dotyczącymi gęstości. Code39 działa dla prostych kombinacji liczb lub dużych liter. Pod uwagę weź kompatybilność sprzętu skanującego przy wyborze typów kodów kreskowych.
Jakie są dodatkowe opcje stempla?
Te właściwości zapewniają precyzyjną kontrolę nad wyglądem i zachowaniem stempla, podobnie do tworzenia niestandardowych znaków wodnych.
Jak kontrolować wygląd stempla?
Opacity: Kontroluje przezroczystość. 0 jest niewidoczne, 100 jest nieprzezroczyste.Rotation: Obraca stempel zgodnie z ruchem wskazówek zegara od 0 do 360 stopni.MaxWidth: Maksymalna szerokość wyjściowego stempla.MaxHeight: Maksymalna wysokość wyjściowego stempla.MinWidth: Minimalna szerokość wyjściowego stempla.MinHeight: Minimalna wysokość wyjściowego stempla.Hyperlink: Dodaje hyperlink on-click do stemplowanych elementów. Uwaga: Łącza HTML (znaczniki a) nie są zachowywane podczas stemplowania.Scale: Stosuje skalowanie procentowe do stempli. Domyślnie: 100 (bez efektu).IsStampBehindContent: Umieszcza stempel za treścią. Stempel może być niewidoczny, jeśli zawartość jest nieprzezroczysta.WaitFor: Czeka na zdarzenia lub czas. Zobacz użycie WaitFor, aby opóźnić renderowanie PDF.Timeout: Czas oczekiwania renderowania w sekundach. Domyślnie: 60.
Które właściwości są najczęściej używane?
Opacity i IsStampBehindContent tworzą znaki wodne. Scale i Rotation dostosowują pozycjonowanie i rozmiar. Przykład:
// Create a semi-transparent watermark behind content
TextStamper watermark = new TextStamper()
{
Text = "CONFIDENTIAL",
FontSize = 60,
FontColorCode = "#CCCCCC",
Opacity = 25,
Rotation = -45,
IsStampBehindContent = true,
VerticalAlignment = VerticalAlignment.Middle,
HorizontalAlignment = HorizontalAlignment.Center
};
// Create a semi-transparent watermark behind content
TextStamper watermark = new TextStamper()
{
Text = "CONFIDENTIAL",
FontSize = 60,
FontColorCode = "#CCCCCC",
Opacity = 25,
Rotation = -45,
IsStampBehindContent = true,
VerticalAlignment = VerticalAlignment.Middle,
HorizontalAlignment = HorizontalAlignment.Center
};
' Create a semi-transparent watermark behind content
Dim watermark As New TextStamper() With {
.Text = "CONFIDENTIAL",
.FontSize = 60,
.FontColorCode = "#CCCCCC",
.Opacity = 25,
.Rotation = -45,
.IsStampBehindContent = True,
.VerticalAlignment = VerticalAlignment.Middle,
.HorizontalAlignment = HorizontalAlignment.Center
}
Podsumowanie
Funkcjonalność stemplowania IronPDF dodaje tekst, obrazy, zawartość HTML i kody kreskowe do istniejących dokumentów PDF. Cztery specjalistyczne klasy stempli z rozbudowanymi opcjami dostosowywania pozwalają tworzyć profesjonalne dokumenty z znakami wodnymi, nagłówkami, stopkami i adnotacjami. System pozycjonowania z różnymi jednostkami miary i opcjami wyrównania zapewnia idealne dopasowanie co do piksela. Można używać prostych znaczników tekstowych lub złożonych układów HTML ze stylami CSS. API stemplowania IronPDF zapewnia elastyczność i kontrolę nad operacjami na plikach PDF na poziomie Enterprise.
Często Zadawane Pytania
Jak dodać znak wodny do moich dokumentów PDF w C#?
Użyj klasy TextStamper z IronPDF, aby dodać znaki wodne tekstowe. Stwórz obiekt TextStamper, ustaw właściwości jak Tekst, FontSize i Opacity, a następnie użyj metody ApplyStamp. Możesz ustawić znaki wodne przy użyciu właściwości VerticalAlignment i HorizontalAlignment dla precyzyjnego umiejscowienia.
Czy mogę dodać obrazy jako stemple do istniejących plików PDF?
Tak, IronPDF dostarcza klasy ImageStamper do dodawania obrazów do PDF-ów. Stwórz obiekt ImageStamper, określ plik obrazu i użyj metody ApplyStamp. Możesz kontrolować pozycjonowanie i określić, które strony będą stempliowane, używając indeksowania opartego na zerach.
Jakie typy treści można stempliować na PDF-ach?
IronPDF obsługuje cztery typy stempli: TextStamper do adnotacji tekstowych i znaków wodnych, ImageStamper do obrazów, HTMLStamper do treści HTML z pełnym stylowaniem CSS oraz BarcodeStamper do kodów kreskowych. Każda z klasy stamperów oferuje precyzyjną kontrolę pozycjonowania.
Jak stworzyć wieloliniowe stemple tekstowe?
Użyj tagu
wewnątrz właściwości Text w TextStamper, aby stworzyć wieloliniowe stemple. Na przykład 'linia 1
linia 2' wyświetli tekst na dwóch oddzielnych liniach, idealne do tworzenia stempli adresowych lub wieloliniowych znaków wodnych.
Czy mogę używać niestandardowych czcionek podczas stempliowania tekstu na PDF-ach?
Tak, TextStamper w IronPDF obsługuje zarówno czcionki systemowe, jak i czcionki Google. Ustaw właściwość UseGoogleFont na true, aby używać czcionek Google, lub określ dowolną zainstalowaną czcionkę systemową, używając właściwości FontFamily dla pełnej kontroli typograficznej.
Czy mogę dodać stemple tylko do konkretnych stron?
Absolutnie. Metoda ApplyStamp akceptuje parametr indeksu strony, który pozwala na stempliowanie określonych stron. IronPDF używa indeksowania opartego na zerach, więc strona 1 to indeks 0. Możesz także używać ApplyMultipleStamps, aby dodać stemple na wielu stronach naraz.

