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

Stamp Text & Image on PDFs using C# and IronPDF

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

IronPDF stamps text, images, HTML content, and barcodes onto existing PDF documents in C# using TextStamper, ImageStamper, HTMLStamper, and BarcodeStamper classes with precise positioning control.

L'estampillage permet de superposer du contenu supplémentaire à des documents PDF existants. Les tampons permettent d'ajouter des informations, des étiquettes, des filigranes ou des annotations aux PDF. Utilisez des tampons pour ajouter des en-têtes et des pieds de page ou créer des filigranes personnalisés grâce aux fonctionnalités complètes de tamponnage d'IronPDF.

IronPDF fournit quatre tampons : TextStamper, ImageStamper, HTMLStamper et BarcodeStamper. HTMLStamper utilise toutes les fonctionnalités HTML avec un style CSS, similaire à la conversion des chaînes HTML en PDF.

Démarrage rapide : Ajoutez instantanément du texte sur vos PDF

Utilisez la classe TextStamper de IronPDF pour ajouter des annotations de texte, des filigranes ou des étiquettes aux documents PDF. L'exemple ci-dessous démontre le tamponnage de texte sur un PDF en utilisant la méthode ApplyStamp.

  1. Installez IronPDF avec le Gestionnaire de Packages NuGet

    PM > Install-Package IronPdf
  2. Copiez et exécutez cet extrait de code.

    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");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit

    arrow pointer


Comment estampiller du texte sur des PDF?

Créez un objet TextStamper contenant toutes les configurations d'affichage. Passez l'objet TextStamper à la méthode ApplyStamp. La propriété Text définit le texte affiché. Configurez la famille de polices, le style de police et l'emplacement du cachet.

TextStamper offre des options de personnalisation étendues similaires à la gestion des polices dans les documents PDF. Utilisez les polices système ou Google Fonts en définissant UseGoogleFont à vrai.

: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

À quoi ressemble le PDF de sortie?

Comment créer des tampons de texte multilignes?

Utilisez la balise <br> pour le texte multiligne dans TextStamper. Par exemple, "ligne 1
ligne 2" produit "ligne 1" sur la première ligne et "ligne 2" sur la seconde. Cela permet de créer des tampons d'adresse ou des filigranes sur plusieurs lignes.


Comment estampiller des images sur des PDF?

Créez un objet ImageStamper et utilisez la méthode ApplyStamp pour appliquer des images aux documents. Le deuxième paramètre de la méthode accepte un index de page pour l'estampillage d'une ou de plusieurs pages. L'exemple ci-dessous reprend l'image de la page 1 du PDF.

ConseilsTous les index de pages suivent l'indexation à partir de zéro.

Pour les opérations complexes sur les images, explorez l'ajout d'images aux PDF ou le travail avec des images codées en 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")
$vbLabelText   $csharpLabel

À quoi ressemble la sortie du tampon-image?

Quels sont les formats d'image pris en charge ?

ImageStamper prend en charge les formats PNG, JPEG, GIF et SVG à travers les références URI ou les chemins de fichiers. Veillez à ce que la connectivité réseau soit correcte pour les images à distance. Pour les environnements Azure, envisagez d'utiliser des images provenant d'Azure Blob Storage.


Comment puis-je appliquer plusieurs tampons ?

Utilisez ApplyMultipleStamps pour appliquer plusieurs tampons en passant un tableau de tamponneuses. Cette méthode permet de traiter efficacement plusieurs timbres en une seule opération.

: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

Qu'arrive-t-il lorsque les timbres se chevauchent?

Puis-je mélanger différents types de timbres ?

ApplyMultipleStamps accepte des tableaux contenant tout type de tampons. Combinez TextStamper, ImageStamper, HTMLStamper et BarcodeStamper en une seule opération. Créer des mises en page de documents complexes avec des en-têtes, des pieds de page, des filigranes et des codes d'identification simultanément.


Comment puis-je contrôler l'emplacement des timbres ?

Définissez l'emplacement des timbres à l'aide d'une grille 3x3 comportant trois colonnes horizontales et trois lignes verticales. Choisissez l'alignement horizontal : gauche, centre, droite. Choisissez l'alignement vertical : haut, milieu, bas. Ajustez les décalages horizontaux et verticaux pour un positionnement précis. Voir l'image ci-dessous pour une représentation visuelle.

Grille d'alignement de l'API d'IronPDF montrant les options de positionnement horizontal/vertical et des exemples de décalage

Quelles sont les principales propriétés de positionnement ?

  • HorizontalAlignment : Alignement horizontal par rapport à la page. Par défaut : HorizontalAlignment.Center.
  • VerticalAlignment : Alignement vertical par rapport à la page. Par défaut : VerticalAlignment.Middle.
  • HorizontalOffset : Décalage horizontal. Par défaut : 0, unité : MeasurementUnit.Percentage. Les valeurs positives sont décalées vers la droite, les valeurs négatives vers la gauche.
  • VerticalOffset : Décalage vertical. Par défaut : 0, unité : MeasurementUnit.Percentage. Les valeurs positives sont décalées vers le bas, les valeurs négatives vers le haut.

Comment définir des décalages précis?

Spécifiez HorizontalOffset et VerticalOffset en utilisant la classe Length. L'unité de mesure par défaut est le pourcentage. Les unités disponibles sont les pouces, les millimètres, les centimètres, les pixels et les points. Cela permet un positionnement précis comme la définition de marges personnalisées dans les documents PDF.

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

Icon Quote related to Code

Ma bibliothèque préférée de ce genre est IronPDF. Elle permet une manipulation rapide et efficace des fichiers PDF. Elle dispose également de nombreuses fonctionnalités précieuses, comme l'exportation au format PDF/A et la signature numérique des documents PDF.

Milan Jovanovic related to Code

Milan Jovanovic

Microsoft MVP

Voir l'étude de cas
Icon Quote related to Code

IronOCR signifie que nous pouvons économiser 40 000 $ par an grâce au traitement manuel, tout en améliorant la productivité et en libérant des ressources pour des tâches à fort impact. Je le recommande vivement.

Brent Matzelle related to Code

Brent Matzelle

Directeur technique, OPYN

Voir l'étude de cas
Icon Quote related to Code

Iron Suite joue un rôle crucial dans nos opérations. Ce sont des outils qui augmentent l'efficacité de l'entreprise, y compris la création de plans d'étage et l'amélioration de la gestion des stocks.

David Jones related to Code

David Jones

Ingénieur logiciel principal, Agorus Build

Voir l'étude de cas

Comment estampiller un contenu HTML?

Utilisez la classe HtmlStamper pour tamponner texte et images. HtmlStamper rend les conceptions HTML avec un style CSS, puis les tamponne sur des documents PDF. La propriété HtmlBaseUrl spécifie l'URL de base pour les actifs de chaînes HTML comme les fichiers CSS et images. Cette opération utilise le même moteur de rendu que la conversion de HTML en PDF.

Code

: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

Quelles sont les propriétés essentielles de HTML Stamper?

  • Html : Fragment HTML à tamponner sur votre PDF. Les références externes à JavaScript, CSS et images sont relatives à HtmlBaseUrl.
  • HtmlBaseUrl : URL de base pour les références des fichiers CSS, JavaScript et images externes.
  • CssMediaType : Active les styles CSS Media="screen". L'activation de AllowScreenCss=false rend les tampons en utilisant le média CSS="print". Par défaut : PdfCssMediaType.Screen.

Pourquoi utiliser HTML Stamper plutôt que Text Stamper?

HTMLStamper offre un support complet HTML et CSS pour des mises en page complexes, plusieurs polices, couleurs et images intégrées en un seul tampon. Idéal pour les filigranes de contenu riche ou d'en-têtes. Elle doit maintenir une image de marque cohérente et fonctionner avec des conceptions CSS réactives.


Comment estampiller des BarCodes?

La classe BarcodeStamper tamponne les codes-barres directement sur les documents PDF existants. Prend en charge les types de codes-barres QRCode, Code128 et Code39.

Code

: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

Quelles sont les options de configuration disponibles pour les BarCodes?

  • Value : Valeur de la chaîne du code-barres.
  • BarcodeType : Type d'encodage prenant en charge QRCode, Code128 et Code39. Par défaut : QRCode.
  • Width : Largeur du code-barres rendu en pixels. Défaut : 250px.
  • Height : Hauteur du code-barres rendu en pixels. Défaut : 250px.

Quand dois-je utiliser chaque type de BarCode?

QRCode gère les URL et les grands ensembles de données (jusqu'à 4 296 caractères alphanumériques). Code128 convient aux données alphanumériques avec des exigences de haute densité. Code39 fonctionne pour des combinaisons numériques simples ou de lettres majuscules. Tenez compte de la compatibilité de l'équipement de numérisation lors de la sélection des types de codes-barres.


Quelles sont les autres options de Stamper disponibles ?

Ces propriétés permettent de contrôler finement l'apparence et le comportement des timbres, de manière similaire à la création de filigranes personnalisés.

Comment contrôler l'apparence des timbres ?

  • Opacity : Contrôle de la transparence. 0 est invisible, 100 est opaque.
  • Rotation : Fait tourner le tampon dans le sens horaire de 0 à 360 degrés.
  • MaxWidth : Largeur maximale du tampon de sortie.
  • MaxHeight : Hauteur maximale du tampon de sortie.
  • MinWidth : Largeur minimale du tampon de sortie.
  • MinHeight : Hauteur minimale du tampon de sortie.
  • Hyperlink : Ajoute un hyperlien cliquable aux éléments tamponnés. Remarque : les liens HTML (balises a) ne sont pas préservés par l'estampillage.
  • Scale : Applique une échelle en pourcentage aux tampons. Valeur par défaut : 100 (aucun effet).
  • IsStampBehindContent : Place le tampon derrière le contenu. Le cachet peut être invisible si le contenu est opaque.
  • WaitFor : Attend des événements ou un temps. Voir l'utilisation de WaitFor pour retarder le rendu PDF.
  • Timeout : Délai d'attente de rendu en secondes. Valeur par défaut : 60.

Quelles sont les propriétés les plus couramment utilisées ?

Opacity et IsStampBehindContent créent des filigranes. Scale et Rotation ajustent le positionnement visuel et la taille. Exemple :

// 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
}
$vbLabelText   $csharpLabel

Résumé

La fonctionnalité d'estampillage d'IronPDF permet d'ajouter du texte, des images, du contenu HTML et des codes-barres à des documents PDF existants. Quatre classes de stamper spécialisées avec des options de personnalisation étendues permettent de créer des documents professionnels avec des filigranes, des en-têtes, des pieds de page et des annotations. Le système de positionnement avec différentes unités de mesure et options d'alignement garantit un placement au pixel près. Utilisez des tampons de texte simples ou des mises en page HTML complexes avec un style CSS. L'API d'estampillage d'IronPDF offre la flexibilité et le contrôle nécessaires à la manipulation des PDF à l'échelle de l'entreprise.

Questions Fréquemment Posées

Comment ajouter un filigrane textuel à mes documents PDF en C# ?

Utilisez la classe TextStamper d'IronPDF pour ajouter des filigranes au texte. Créez un objet TextStamper, définissez des propriétés telles que Text, FontSize et Opacity, puis utilisez la méthode ApplyStamp. Vous pouvez positionner les filigranes en utilisant les propriétés VerticalAlignment et HorizontalAlignment pour un positionnement précis.

Puis-je ajouter des images en tant que tampons à des fichiers PDF existants ?

Oui, IronPDF fournit la classe ImageStamper pour ajouter des images aux PDF. Créez un objet ImageStamper, spécifiez le fichier image et utilisez la méthode ApplyStamp. Vous pouvez contrôler le positionnement et spécifier les pages à tamponner à l'aide de l'indexation des pages à base zéro.

Quels types de contenu peuvent être apposés sur les PDF ?

IronPDF prend en charge quatre types de tampons : TextStamper pour les annotations de texte et les filigranes, ImageStamper pour les images, HTMLStamper pour le contenu HTML avec un style CSS complet, et BarcodeStamper pour les codes-barres. Chaque classe de tampon offre un contrôle précis du positionnement.

Comment créer des tampons de texte multilignes ?

Utilisez la balise
dans la propriété TextStamper pour créer des tampons sur plusieurs lignes. Par exemple, "ligne 1
ligne 2" affichera le texte sur deux lignes distinctes, ce qui est parfait pour créer des tampons d'adresse ou des filigranes multilignes.

Puis-je utiliser des polices personnalisées lors de l'estampillage de texte sur des PDF ?

Oui, TextStamper dans IronPDF prend en charge à la fois les polices système et les polices Google. Définissez la propriété UseGoogleFont à true pour utiliser les polices Google, ou spécifiez n'importe quelle police système installée à l'aide de la propriété FontFamily pour un contrôle complet de la typographie.

Est-il possible d'ajouter des tampons à certaines pages seulement ?

Absolument. La méthode ApplyStamp accepte un paramètre d'index de page qui vous permet de marquer des pages spécifiques. IronPDF utilise une indexation basée sur le zéro, la page 1 correspond donc à l'index 0. Vous pouvez également utiliser ApplyMultipleStamps pour ajouter des tampons à plusieurs pages à la fois.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer ?
Nuget Téléchargements 20,296,129 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPdf
exécuter un échantillon Regardez votre code HTML se transformer en PDF.