Text und Bild in PDFs stempeln

Chaknith related to Text und Bild in PDFs stempeln
Chaknith Bin
9. Oktober 2023
Aktualisiert 5. Februar 2025
Teilen Sie:
This article was translated from English: Does it need improvement?
Translated
View the article in English

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 wird über TextStamper, ImageStamper, HTMLStamper und BarcodeStamper sprechen. HTMLStamper ist besonders leistungsstark, da es alle HTML-Funktionen zusammen mit CSS-Styling nutzen kann.

Erste Schritte mit IronPDF

Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.

Erster Schritt:
green arrow pointer



Beispiel für Stempeltext

Zuerst erstellen Sie ein Objekt aus der TextStamper-Klasse. Dieses Objekt enthält alle Konfigurationen, die festlegen, wie unser Textstempel angezeigt werden soll. Übergeben Sie das TextStamper-Objekt an die ApplyStamp-Methode. Die Text-Eigenschaft 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")
$vbLabelText   $csharpLabel

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 Textstempel erstellen wir zuerst ein Objekt aus der ImageStamper-Klasse und verwenden dann die ApplyStamp-Methode, 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")
$vbLabelText   $csharpLabel

Ausgabe PDF


Mehrere Stempel aufbringen

Verwenden Sie die Methode ApplyMultipleStamps, um mehrere Stempel auf das Dokument anzuwenden, indem Sie ein Array von Stampfern ü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")
$vbLabelText   $csharpLabel

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 relativ zur Seite. Die Standardeinstellung ist HorizontalAlignment.Center.
  • VerticalAlignment: Die vertikale Ausrichtung des Stempels in Bezug auf die 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 Length-Klasse. 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)
}
$vbLabelText   $csharpLabel

Stempel HTML Beispiel

Es gibt eine weitere Stempelklasse, mit der wir sowohl Text als auch Bilder stempeln können. Die HtmlStamper-Klasse kann verwendet werden, um HTML-Designs mit CSS-Styling zu rendern und diese dann auf das PDF-Dokument zu stempeln. Die HtmlBaseUrl-Eigenschaft 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")
$vbLabelText   $csharpLabel
  • Html: Das HTML-Fragment, das auf Ihr PDF gestempelt 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 BarcodeStamper-Klasse kann verwendet werden, um Barcodes direkt auf das bestehende 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")
$vbLabelText   $csharpLabel
  • Wert: Der Zeichenfolgenwert des Barcodes.
  • BarcodeType: Der Codierungstyp für den Barcode, mit unterstützten Typen wie QRCode, Code128 und Code39. Der Standardwert 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.

  • Deckkraft: Ermöglicht es, dass der Stempel transparent ist. 0 ist völlig unsichtbar, 100 ist völlig undurchsichtig.
  • Drehung: Dreht den Stempel im Uhrzeigersinn von 0 bis 360 Grad, wie angegeben.
  • MaxWidth: Die maximale Breite des Ausgabestempels.
  • MaxHeight: Die maximale Höhe des Ausgabestempels.
  • MinWidth: Die Mindestbreite des Ausgabestempels.
  • MinHeight: Die Mindesthöhe des Ausgabestempels.
  • Hyperlink: Macht gestempelte Elemente dieses Stempels zu einem On-Click-Hyperlink. Hinweis: HTML-Links, die durch link(a)-Tags erstellt wurden, werden nicht durch Stempeln reserviert.
  • Skalieren: Wendet einen Prozentsatz auf die Stempel an, um sie zu vergrößern oder zu verkleinern. Standard ist 100 (Prozent), was keine Wirkung hat.
  • IsStampBehindContent: Auf true setzen, um den Stempel hinter dem Inhalt anzuwenden. Wenn der Inhalt undurchsichtig ist, kann der Stempel unsichtbar sein.
  • WaitFor: Eine praktische Hülle, um auf verschiedene Ereignisse zu warten oder einfach eine gewisse Zeit abzuwarten.
  • Zeitüberschreitung: Render-Zeitüberschreitung in Sekunden. Der Standardwert ist 60.
Chaknith related to Optionen für Stamper erkunden
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.