Text und Bild in PDFs stempeln

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

von Chaknith Bin

Beim Stempeln von Text und Bildern in einer PDF-Datei werden zusätzliche Inhalte in ein bestehendes PDF-Dokument eingefügt. Dieser Inhalt, der oft als "Stempel" bezeichnet wird, kann aus Text, Bildern oder einer Kombination aus beidem bestehen. Stempel werden in der Regel verwendet, um Informationen, Etiketten, Wasserzeichen oder Anmerkungen zu einer PDF-Datei hinzuzufügen.

Es gibt insgesamt 4 Stempel, die in IronPDF verwendet werden können. Dieser Artikel befasst sich mit TextStamper, ImageStamper, HTMLStamper und BarcodeStamper. HTMLStamper ist besonders leistungsstark, da es alle HTML-Funktionen zusammen mit CSS-Styling nutzen kann.


C# NuGet-Bibliothek für PDF

Installieren mit NuGet

Install-Package IronPdf
oder
Java PDF JAR

Herunterladen DLL

DLL herunterladen

Manuelle Installation in Ihr Projekt

C# NuGet-Bibliothek für PDF

Installieren mit NuGet

Install-Package IronPdf
oder
Java PDF JAR

Herunterladen DLL

DLL herunterladen

Manuelle Installation in Ihr Projekt

Fangen Sie noch heute an, IronPDF in Ihrem Projekt mit einer kostenlosen Testversion zu verwenden.

Erster Schritt:
green arrow pointer

Schau dir an IronPDF an Nuget Für schnelle Installation und Bereitstellung. Mit über 8 Millionen Downloads verwandelt es PDF mit C#.

C# NuGet-Bibliothek für PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

Erwägen Sie die Installation der IronPDF DLL direkt. Laden Sie es herunter und installieren Sie es manuell für Ihr Projekt oder die GAC-Form: IronPdf.zip

Manuelle Installation in Ihr Projekt

DLL herunterladen

Beispiel für Stempeltext

Erstellen Sie zunächst ein Objekt der Klasse TextStamper. Dieses Objekt enthält alle Konfigurationen, die festlegen, wie unser Textstempel angezeigt werden soll. Übergeben Sie das TextStamper-Objekt an die Methode ApplyStamp. Die Eigenschaft Text wird der angezeigte Text sein. Außerdem können wir die Schriftfamilie, die Schriftart und die Position des Stempels festlegen.

: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")
VB   C#

Ausgabe PDF

Um mehrzeiligen Text in TextStamper zu erhalten, verwenden Sie den <br> Tag wie in HTML. Beispiel: "Zeile 1 <br> Zeile 2" ergibt "Zeile 1" in der ersten Zeile und "Zeile 2" in der zweiten Zeile.


Beispiel für ein Stempelbild

Ähnlich wie beim Textstempler erstellen wir zunächst ein Objekt der Klasse ImageStamper und verwenden dann die Methode ApplyStamp, um das Bild auf das Dokument anzuwenden. Der zweite Parameter dieser Methode akzeptiert auch einen Seitenindex, der verwendet werden kann, um den Stempel auf eine einzelne oder mehrere Seiten anzuwenden. Im folgenden Beispiel geben wir an, dass das Bild auf Seite 1 der PDF-Datei gestempelt werden soll.

Tipps
Alle Seitenindizes folgen einer nullbasierten Indizierung.

: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")
VB   C#

Ausgabe PDF


Mehrere Stempel aufbringen

Verwenden Sie die Methode ApplyMultipleStamps, um mehrere Stempel auf das Dokument anzuwenden, indem Sie ihr ein Array von Stempeln übergeben.

: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")
VB   C#

Ausgabe PDF


Standort des Stempels

Um die Platzierung des Stempels zu definieren, verwenden wir ein 3x3-Gitter mit drei horizontalen Spalten und drei vertikalen Zeilen. Sie haben die Wahl zwischen der horizontalen Ausrichtung: links, mittig und rechts sowie der vertikalen Ausrichtung: oben, mittig und unten. Für zusätzliche Präzision können Sie für jede Position sowohl horizontale als auch vertikale Offsets einstellen. Die nachstehende Abbildung veranschaulicht dieses Konzept.

Standort des Stempels
  • HorizontalAlignment: Die horizontale Ausrichtung des Stempels im Verhältnis zur Seite. Die Standardeinstellung ist HorizontalAlignment.Center.
  • VertikaleAusrichtung: Die vertikale Ausrichtung des Stempels im Verhältnis zur Seite. Die Standardeinstellung ist VerticalAlignmentCenter.Middle.
  • HorizontalOffset: Der horizontale Versatz. Der Standardwert ist 0 und die Standardeinheit ist IronPDF.Editing.MeasurementUnit.Percentage. Positive Werte stehen für eine Verschiebung nach rechts, negative Werte für eine Verschiebung nach links.
  • VerticalOffset: Der vertikale Versatz. Der Standardwert ist 0 und die Standardeinheit ist IronPDF.Editing.MeasurementUnit.Percentage. Positive Werte bedeuten eine Verschiebung nach unten, während negative Werte eine Verschiebung nach oben bedeuten.

    Um die Eigenschaften HorizontalOffset und VerticalOffset festzulegen, instanziieren wir die Klasse Length. Die Standardmaßeinheit für Länge ist ein Prozentsatz, aber es können auch Maßeinheiten wie Zoll, Millimeter, Zentimeter, Pixel und Punkte verwendet werden.

Code

: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)
}
VB   C#

Stempel HTML Beispiel

Es gibt eine weitere Stempelklasse, mit der wir sowohl Text als auch Bilder stempeln können. Die Klasse HtmlStamper kann verwendet werden, um HTML-Designs mit CSS-Styling zu rendern und sie dann in das PDF-Dokument zu stempeln. Die Eigenschaft HtmlBaseUrl wird verwendet, um die Basis-URL für die HTML-String-Assets, wie CSS- und Bilddateien, anzugeben.

Code

:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-html.cs
using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create HTML stamper
HtmlStamper htmlStamper = new HtmlStamper()
{
    Html = @"<img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg'>
    <h1>Iron Software</h1>",
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the HTML stamper
pdf.ApplyStamp(htmlStamper);

pdf.SaveAs("stampHtml.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create HTML stamper
Private htmlStamper As New HtmlStamper() With {
	.Html = "<img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg'>
    <h1>Iron Software</h1>",
	.VerticalAlignment = VerticalAlignment.Top
}

' Stamp the HTML stamper
pdf.ApplyStamp(htmlStamper)

pdf.SaveAs("stampHtml.pdf")
VB   C#
  • Html: Das HTML-Fragment, das in Ihr PDF eingefügt werden soll. Alle externen Verweise auf JavaScript-, CSS- und Bilddateien sind relativ zur Eigenschaft HtmlBaseUrl der Stamper-Klasse.
  • HtmlBaseUrl: Die HTML-Basis-URL, für die Verweise auf externe CSS-, Javascript- und Bilddateien relativ sein werden.
  • CssMediaType: Ermöglicht Media="screen" CSS-Stile und StyleSheets. Mit der Einstellung AllowScreenCss=false rendert IronPDF Stempel aus HTML mit CSS für media="print", als ob eine Webseite in einem Browser-Druckdialog gedruckt würde. Der Standardwert ist PdfCssMediaType.Screen.

Stempel Barcode Beispiel

Die Klasse BarcodeStamper kann verwendet werden, um Barcodes direkt auf das vorhandene PDF-Dokument zu stempeln. Der Stempel unterstützt Barcode-Typen wie QRCode, Code128 und Code39.

Code

:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-barcode.cs
using IronPdf;
using IronPdf.Editing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create barcode stamper
BarcodeStamper barcodeStamper = new BarcodeStamper("IronPdf!!", BarcodeEncoding.Code39)
{
    VerticalAlignment = VerticalAlignment.Top,
};

// Stamp the barcode stamper
pdf.ApplyStamp(barcodeStamper);

pdf.SaveAs("stampBarcode.pdf");
Imports IronPdf
Imports IronPdf.Editing

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create barcode stamper
Private barcodeStamper As New BarcodeStamper("IronPdf!!", BarcodeEncoding.Code39) With {.VerticalAlignment = VerticalAlignment.Top}

' Stamp the barcode stamper
pdf.ApplyStamp(barcodeStamper)

pdf.SaveAs("stampBarcode.pdf")
VB   C#
  • Wert: Der String-Wert des Barcodes.
  • BarcodeType: Der Codierungstyp für den Barcode. Unterstützt werden die Typen QRCode, Code128 und Code39. Die Vorgabe ist QRCode.
  • Breite: Die Breite des gerenderten Barcodes in Pixeln. Der Standardwert ist 250px.
  • Höhe: Die Höhe des gerenderten Barcodes in Pixeln. Der Standardwert ist 250px.

Optionen für Stamper erkunden

Zusätzlich zu den oben erwähnten und erläuterten Optionen gibt es noch weitere Möglichkeiten, die den Stempelklassen zur Verfügung stehen.

  • Durchsichtigkeit: Ermöglicht es, den Stempel transparent zu machen. 0 ist völlig unsichtbar, 100 ist völlig undurchsichtig.
  • Drehung: Dreht den Stempel wie angegeben im Uhrzeigersinn von 0 bis 360 Grad.
  • MaxBreite: Die maximale Breite des Ausgabestempels.
  • MaxHöhe: Die maximale Höhe des Ausgabestempels.
  • MinBreite: Die Mindestbreite des Ausgabestempels.
  • MinHöhe: Die Mindesthöhe des Ausgabestempels.
  • Hyperlink: Versieht gestempelte Elemente dieses Stamper mit einem Hyperlink, wenn sie angeklickt werden. Hinweis: HTML-Links, die durch Link(a) tags werden nicht durch Stempeln reserviert.
  • Skala: Wendet eine prozentuale Skala auf die Stempel an, um sie größer oder kleiner zu machen. Standardwert ist 100(Prozentsatz)die keine Auswirkungen hat.
  • IsStampBehindContent: Wird auf true gesetzt, um den Stempel hinter dem Inhalt anzubringen. Wenn der Inhalt undurchsichtig ist, kann der Stempel unsichtbar sein.
  • WaitFor: Ein praktischer Wrapper, um auf verschiedene Ereignisse zu warten oder einfach eine bestimmte Zeitspanne abzuwarten.
  • Timeout: Zeitüberschreitung beim Rendern in Sekunden. Der Standardwert ist 60.

Chaknith Bin

Software-Ingenieur

Chaknith ist der Sherlock Holmes der Entwickler. Zum ersten Mal kam ihm der Gedanke, dass er eine Zukunft in der Softwareentwicklung haben könnte, als er zum Spaß an Code Challenges teilnahm. Sein Schwerpunkt liegt auf IronXL und IronBarcode, aber er ist stolz darauf, Kunden mit jedem Produkt zu helfen. Chaknith nutzt sein Wissen aus direkten Gesprächen mit Kunden, um die Produkte selbst weiter zu verbessern. Sein anekdotisches Feedback geht über Jira-Tickets hinaus und unterstützt die Produktentwicklung, die Dokumentation und das Marketing, um das Gesamterlebnis der Kunden zu verbessern.Wenn er nicht im Büro ist, lernt er über maschinelles Lernen, programmiert und wandert.