Comment ajouter des tampons et des filigranes aux PDF en C#

How to Stamp Text & Image on PDFs

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

Le stampage de texte et d'images sur un PDF implique de superposer du contenu supplémentaire sur un document PDF existant. Ce contenu, souvent appelé « tampon », peut être du texte, des images, ou une combinaison des deux. Les tampons sont généralement utilisés pour ajouter des informations, des étiquettes, des filigranes ou des annotations à un PDF.

Il y a un total de 4 tamponneurs qui peuvent être utilisés dans IronPdf. Cet article va parler de TextStamper, ImageStamper, HTMLStamper, et BarcodeStamper. HTMLStamper est particulièrement puissant car il peut utiliser toutes les fonctionnalités HTML avec le style CSS.

Démarrage rapide : Tamponner du texte sur des PDF instantanément

Ce guide rapide montre comment utiliser IronPDF pour tamponner du texte sur un fichier PDF avec un minimum d'effort. En exploitant la classe TextStamper, les développeurs peuvent facilement ajouter des annotations texte, telles que des filigranes ou des étiquettes, à tout document PDF. L'exemple ci-dessous montre une implémentation simple de tamponnage de texte sur un PDF en utilisant la méthode ApplyStamp, garantissant un processus de tamponnage rapide et efficace.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    var pdf = new IronPdf.PdfDocument("input.pdf");
    var stamper = new IronPdf.TextStamper("Confidential", 50, 50);
    pdf.ApplyStamp(stamper);
    pdf.SaveAs("stamped.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Flux de travail minimal (5 étapes)

  1. Téléchargez la bibliothèque C# pour tamponner du texte et de l'image
  2. Créez et configurez la classe tamponneur souhaitée
  3. Utilisez la méthode ApplyStamp pour appliquer le tampon au PDF
  4. Appliquez plusieurs tampons en utilisant la méthode ApplyMultipleStamps
  5. Spécifiez les pages particulières auxquelles appliquer les tampons


Exemple de tampon de texte

Tout d'abord, créez un objet à partir de la classe TextStamper. Cet objet contiendra toutes les configurations pour préciser comment nous voulons que notre tampon texte s'affiche. Passez l'objet TextStamper à la méthode ApplyStamp. La propriété Text sera le texte affiché. De plus, nous pouvons spécifier la famille de polices, le style de police ainsi que l'emplacement du tampon.

: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

PDF de sortie

Pour obtenir du texte multi-lignes dans TextStamper, utilisez la balise <br> comme en HTML. Par exemple, « ligne 1
ligne 2 » produira « ligne 1 » sur la première ligne et « ligne 2 » sur la seconde ligne.


Exemple de tampon d'image

Similaire au tampon de texte, nous créons d'abord un objet à partir de la classe ImageStamper puis utilisons la méthode ApplyStamp pour appliquer l'image au document. Le second paramètre de cette méthode accepte également un index de page, qui peut être utilisé pour appliquer le tampon à une ou plusieurs pages. Dans l'exemple ci-dessous, nous précisons que l'image doit être tamponnée sur la page 1 du PDF.

ConseilsTous les index de page suivent une indexation basée sur zéro.

: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

PDF de sortie


Appliquer plusieurs tampons

Utilisez la méthode ApplyMultipleStamps pour appliquer plusieurs tampons sur le document en passant un tableau de tamponneurs à celle-ci.

: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

PDF de sortie


Emplacement du tampon

Pour définir la placement du tampon, nous utilisons une grille 3x3 avec trois colonnes horizontales et trois rangées verticales. Vous avez le choix pour l'alignement horizontal : gauche, centre et droite, ainsi que pour l'alignement vertical : haut, milieu et bas. Pour plus de précision, vous pouvez ajuster les décalages horizontal et vertical pour chaque position. Veuillez vous référer à l'image ci-dessous pour une représentation visuelle de ce concept.

class="content-img-align-center">
class="center-image-wrapper"> Emplacement du tampon
  • HorizontalAlignment : L'alignement horizontal du tampon par rapport à la page. La configuration par défaut est HorizontalAlignment.Center.
  • VerticalAlignment : L'alignement vertical du tampon par rapport à la page. La configuration par défaut est VerticalAlignment.Middle.
  • HorizontalOffset : Le décalage horizontal. La valeur par défaut est 0 et l'unité par défaut est IronPdf.Editing.MeasurementUnit.Percentage. Les valeurs positives indiquent un décalage vers la droite, tandis que les valeurs négatives indiquent un décalage vers la gauche.
  • VerticalOffset : Le décalage vertical. La valeur par défaut est 0 et l'unité par défaut est IronPdf.Editing.MeasurementUnit.Percentage. Les valeurs positives indiquent un décalage vers le bas, tandis que les valeurs négatives indiquent un décalage vers le haut.

Pour spécifier les propriétés HorizontalOffset et VerticalOffset, nous instancions la classe Length. L'unité de mesure par défaut pour Length est un pourcentage, mais elle peut également utiliser des unités de mesure telles que pouces, millimètres, centimètres, pixels et points.

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

Exemple de tampon HTML

Il existe une autre classe tamponneur que nous pouvons utiliser pour tamponner à la fois du texte et des images. La classe HtmlStamper peut être utilisée pour rendre des designs HTML avec des styles CSS et les tamponner ensuite sur le document PDF. La propriété HtmlBaseUrl est utilisée pour spécifier l'URL de base pour les ressources de chaînes HTML, telles que les fichiers CSS et d'image.

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 : Le fragment HTML à tamponner sur votre PDF. Toutes les références externes à des fichiers JavaScript, CSS et d'image seront relatives à la propriété HtmlBaseUrl de la classe Tamponneur.
  • HtmlBaseUrl : L'URL de base HTML pour laquelle les références à des fichiers CSS, Javascript et Image externes seront relatives.
  • CssMediaType : Active les styles CSS et les feuilles de style Media="screen". En définissant AllowScreenCss=false, IronPdf rend le tampon à partir du HTML en utilisant le CSS pour le média="print" comme lors de l'impression d'une page web dans une boîte de dialogue d'impression de navigateur. La valeur par défaut est PdfCssMediaType.Screen.

Exemple de tampon de code-barres

La classe BarcodeStamper peut être utilisée pour tamponner un code-barres directement sur le document PDF existant. Le tamponneur prend en charge les types de codes-barres y compris QRCode, Code128 et 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
  • Valeur : La valeur chaîne du code-barres.
  • BarcodeType : Le type d'encodage pour le code-barres, avec des types pris en charge y compris QRCode, Code128 et Code39. Le défaut est QRCode.
  • Largeur : La largeur du code-barres rendu en pixels. Le défaut est 250px.
  • Hauteur : La hauteur du code-barres rendu en pixels. Le défaut est 250px.

Explorer les options de tamponneur

En plus des options mentionnées et expliquées ci-dessus, ci-dessous se trouvent plus d'options disponibles pour les classes de tamponneur.

  • Opacité : Permet au tampon d'être transparent. 0 est entièrement invisible, 100 est entièrement opaque.
  • Rotation : Fait tourner le tampon dans le sens des aiguilles d'une montre de 0 à 360 degrés comme spécifié.
  • LargeurMax : La largeur maximale du tampon de sortie.
  • HauteurMax : La hauteur maximale du tampon de sortie.
  • LargeurMin : La largeur minimale du tampon de sortie.
  • HauteurMin : La hauteur minimale du tampon de sortie.
  • Hyperlien : Permet aux éléments tamponnés de ce Tamponneur d'avoir un hyperlien au clic. Remarque : Les liens HTML créés par les balises link(a) ne sont pas réservés par le tamponnage.
  • Échelle : Applique une échelle en pourcentage aux tampons pour les rendre plus grands ou plus petits. Par défaut, il est de 100 (pour cent), ce qui n'a aucun effet.
  • IsStampBehindContent : Définissez sur true pour appliquer le tampon derrière le contenu. Si le contenu est opaque, le tampon peut être invisible.
  • WaitFor : Un wrapper pratique pour attendre divers événements ou simplement attendre une période de temps.
  • Timeout : Temps d'arrêt de rendu en secondes. La valeur par défaut est de 60.

Questions Fréquemment Posées

Quel est le but d'apposer du texte et des images sur des PDF ?

Tamponner du texte et des images sur des PDF vous permet de superposer du contenu supplémentaire comme des étiquettes, des filigranes ou des annotations sur des documents PDF existants. Cela est réalisé en utilisant les différentes classes de tamponneuses d'IronPDF, telles que `TextStamper` et `ImageStamper`.

Comment puis-je commencer à tamponner du texte et des images sur des PDF en utilisant C# ?

Pour commencer à tamponner du texte et des images sur des PDF en utilisant C#, installez la bibliothèque IronPDF via NuGet, configurez la classe de tamponneuse appropriée et utilisez la méthode ApplyStamp pour appliquer le tampon sur le PDF.

Quels types de tamponneuses puis-je utiliser pour tamponner des PDF dans IronPDF ?

IronPDF fournit plusieurs types de tamponneuses : `TextStamper` pour le texte, `ImageStamper` pour les images, `HTMLStamper` pour le contenu HTML avec CSS, et `BarcodeStamper` pour les types de codes-barres comme le QRCode.

Comment appliquer un tampon de texte à une page spécifique d'un PDF en utilisant C# ?

Dans IronPDF, vous pouvez appliquer un tampon de texte à une page spécifique en créant un objet `TextStamper`, en configurant ses propriétés et en utilisant la méthode ApplyStamp avec le paramètre d'indice de page pour cibler des pages spécifiques.

Est-il possible d'appliquer plusieurs tampons simultanément sur un PDF ?

Oui, IronPDF vous permet d'appliquer plusieurs tampons à la fois en utilisant la méthode ApplyMultipleStamps, où vous pouvez passer un tableau d'objets tamponneuses configurés.

Quelles options de personnalisation sont disponibles pour positionner les tampons sur les PDF ?

IronPDF permet la personnalisation du positionnement des tampons à l'aide d'une grille 3x3 pour des options d'alignement telles que gauche, centre, droite pour l'horizontal, et haut, milieu, bas pour les positions verticales, avec des réglages d'offset supplémentaires.

Le contenu HTML peut-il être utilisé pour tamponner sur des PDF ?

Oui, la classe `HTMLStamper` d'IronPDF permet de tamponner du contenu HTML avec un style CSS sur des PDF, offrant une solution polyvalente pour des conceptions complexes.

Quels types de codes-barres IronPDF prend-il en charge pour le tamponnage sur des PDF ?

Le `BarcodeStamper` d'IronPDF prend en charge plusieurs types de codes-barres, y compris QRCode, Code128, et Code39, vous permettant d'incorporer des informations de codes-barres dans vos documents PDF.

Quelles options avancées IronPDF offre-t-il pour personnaliser les tampons PDF ?

IronPDF fournit des options de personnalisation avancées pour les tampons PDF, y compris des propriétés telles que Opacité, Rotation, LargeurMaximale, HauteurMaximale, Hyperlien, Échelle, IsStampBehindContent, WaitFor, et Timeout.

Quelles sont les astuces courantes de dépannage pour le tamponnage de PDF avec IronPDF ?

Assurez-vous d'avoir la version correcte d'IronPDF installée, vérifiez les configurations de vos objets tamponneuses, et vérifiez que votre code spécifie correctement les indices ou les zones de page où les tampons sont appliqués.

IronPDF est-il entièrement compatible avec .NET 10 pour l'ajout de texte et d'images sur les fichiers PDF ?

Oui, IronPDF est entièrement compatible avec .NET 10. Les fonctionnalités d'estampage telles que `TextStamper`, `ImageStamper`, `ApplyStamp`, `ApplyMultipleStamps`, ainsi que les options d'alignement et de personnalisation, sont opérationnelles nativement dans les projets .NET 10, sans configuration supplémentaire. Ces fonctionnalités sont prises en charge sur toutes les plateformes et pour tous les types de projets sous .NET 10.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Prêt à commencer?
Nuget Téléchargements 16,154,058 | Version : 2025.11 vient de sortir