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 permet d'apposer du texte, des images, du contenu HTML et des BarCodes sur des documents PDF existants en C# à l'aide de ,, et avec un contrôle précis du positionnement.

Le tamponnage permet d'ajouter du contenu supplémentaire sur des documents PDF existants. Les tampons permettent d'ajouter des informations, des étiquettes, des filigranes ou des annotations aux fichiers PDF. Utilisez les 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 d'IronPDF en matière de tamponnage.

IronPDF propose quatre outils de tamponnage : ,, et. `` utilise toutes les fonctionnalités HTML avec la mise en forme CSS, de manière similaire à la conversion de chaînes HTML en PDF.

Guide de démarrage rapide : Apposer instantanément du texte sur des PDF

Utilisez la classe d'IronPDF pour ajouter des annotations textuelles, des filigranes ou des étiquettes à des documents PDF. L'exemple ci-dessous montre comment apposer un texte sur un PDF à l'aide de la méthode.

  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 apposer un tampon sur des PDF ?

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

offre des options de personnalisation étendues, similaires à [la gestion des polices](https://ironpdf.com/how-to/manage-fonts/) dans les documents PDF. Utilisez les polices système ou Google Fonts en définissant sur 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")
$vbLabelText   $csharpLabel

À quoi ressemble le fichier PDF final ?

Comment puis-je créer des tampons de texte sur plusieurs lignes ?

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


Comment apposer un tampon sur des images dans des fichiers PDF ?

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

ConseilsTous les index de page suivent un indexage à partir de zéro.

Pour les opérations complexes sur les images, découvrez comment ajouter des images à des PDF ou travailler avec des images encodé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 le résultat de l'impression sur l'image ?

Quels formats d'image sont pris en charge ?

`` prend en charge les formats PNG, JPEG, GIF et SVG via des références URI ou des chemins d'accès aux fichiers. Assurez-vous que la connexion réseau est correcte pour les images distantes. Pour les environnements Azure, pensez à utiliser des images provenant d'Azure Blob Storage.


Comment puis-je appliquer plusieurs tampons ?

Utilisez `` pour appliquer plusieurs tampons en passant un tableau de tampons. Cette méthode traite 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

Que se passe-t-il lorsque les tampons se chevauchent ?

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

accepte les tableaux contenant n&#x27;importe quel type de tampon. Combinez, , et `` en une seule opération. Créez simultanément des mises en page de documents complexes avec des en-têtes, des pieds de page, des filigranes et des codes d'identification.


Comment contrôler l'emplacement du tampon ?

Définissez l'emplacement des tampons à 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, centre, 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 IronPDF Stamping montrant les options de positionnement horizontal/vertical et des exemples de décalage

Quelles sont les principales caractéristiques de positionnement ?

  • : Alignement horizontal par rapport à la page. Par défaut :.
  • : Alignement vertical par rapport à la page. Par défaut :.
  • : Décalage horizontal. Valeur par défaut : 0, unité :. Les valeurs positives sont alignées à droite, les valeurs négatives à gauche.
  • : Décalage vertical. Valeur par défaut : 0, unité :. 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 et à l'aide de la classe ``. L'unité de mesure par défaut est le pourcentage. Les unités disponibles comprennent les pouces, les millimètres, les centimètres, les pixels et les points. Cela permet un positionnement précis, comme le réglage 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

Comment apposer un tampon sur du contenu HTML ?

Utilisez la classe pour apposer un tampon sur du texte et des images. rend les mises en page HTML avec des styles CSS, puis les appose sur des documents PDF. La propriété `` spécifie l'URL de base pour les ressources de chaînes HTML telles que les fichiers CSS et les fichiers image. Elle utilise le même moteur de rendu que celui utilisé pour 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 ?

  • : fragment HTML à insérer dans votre PDF. Les références externes à JavaScript, CSS et aux images sont relatives à.
  • `` : URL de base pour les références externes aux fichiers CSS, JavaScript et images.
  • : Active les styles CSS Media=&quot;screen&quot;. La configuration affiche les filigranes en utilisant CSS media="PRINT". Par défaut : ``.

Pourquoi utiliser HTML Stamper plutôt que Text Stamper ?

`` offre une prise en charge complète du HTML et du CSS pour les mises en page complexes, les polices multiples, les couleurs et les images intégrées dans un seul tampon. Idéal pour les filigranes ou les en-têtes à contenu riche. Elle doit respecter la cohérence de l'image de marque et s'adapter aux designs CSS réactifs.


Comment imprimer des BarCodes ?

La classe `` appose des BarCodes directement sur des documents PDF existants. Prend en charge les types de BarCodes 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 ?

  • `` : Valeur sous forme de chaîne de caractères du BARCODE.
  • `` : Type d'encodage prenant en charge QRCode, Code128 et Code39. Par défaut : QRCode.
  • `` : Largeur du BARCODE rendu en pixels. Par défaut : 250px.
  • `` : Hauteur du BarCode rendu en pixels. Par défaut : 250px.

Quand dois-je utiliser chaque type de BarCode ?

QRCode prend en charge les URL et les grands ensembles de données (jusqu'à 4 296 caractères alphanumériques). convient aux données alphanumériques nécessitant une haute densité. fonctionne pour les combinaisons simples de chiffres ou de lettres majuscules. Tenez compte de la compatibilité des équipements de lecture lors du choix des types de BarCode.


Quelles sont les autres options de tampons disponibles ?

Ces propriétés permettent de contrôler avec précision l'apparence et le comportement du tampon, à l'instar de la création de filigranes personnalisés.

Comment puis-je contrôler l'apparence des tampons ?

  • `` : Contrôle la transparence. 0 est transparent, 100 est opaque.
  • `` : fait pivoter le tampon dans le sens des aiguilles d'une montre de 0 à 360 degrés.
  • `` : Largeur maximale du tampon de sortie.
  • `` : Hauteur maximale du tampon de sortie.
  • `` : Largeur minimale du tampon de sortie.
  • `` : Hauteur minimale du tampon de sortie.
  • `` : Ajoute un hyperlien au clic aux éléments estampillés. Remarque : les liens HTML (balises a) ne sont pas conservés lors de l'impression.
  • `` : Applique une échelle en pourcentage aux tampons. Valeur par défaut : 100 (aucun effet).
  • `` : Place le tampon derrière le contenu. Le tampon peut être invisible si le contenu est opaque.
  • `` : Attend des événements ou un délai. Voir l'utilisation de WaitFor pour retarder le rendu PDF.
  • `` : délai d'expiration du rendu en secondes. Par défaut : 60.

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

et créent des filigranes. et permettent d'ajuster le positionnement et la taille visuels. 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 BarCodes à des documents PDF existants. Quatre classes de tampons spécialisées, dotées de nombreuses options de personnalisation, 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 ses différentes unités de mesure et options d'alignement, garantit un placement au pixel près. Utilisez des balises de texte simples ou des mises en page HTML complexes avec des styles CSS. L'API de tamponnage d'IronPDF offre flexibilité et contrôle pour la manipulation de fichiers PDF au niveau 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 19,014,616 | Version : 2026.5 just released
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.