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 applique du texte, des images, du contenu HTML et des codes-barres sur des documents PDF existants en C# en utilisant les classes TextStamper, ImageStamper, HTMLStamper et BarcodeStamper avec un contrôle précis du positionnement.

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 le style CSS, similaire à la conversion de chaînes HTML en PDF .

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

Utilisez la classe TextStamper d'IronPDF pour ajouter des annotations de texte, des filigranes ou des étiquettes aux documents PDF. L'exemple ci-dessous illustre l'impression de texte sur un PDF à l'aide de 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. Transmettez 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 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");
$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");
$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 via des références URI ou des 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 tampons. 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");
$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 des tampons de tout type. 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. Valeur 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. Valeur 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),
};
$vbLabelText   $csharpLabel

Comment estampiller un contenu HTML?

Utilisez la classe HtmlStamper pour tamponner du texte et des images. HtmlStamper génère des modèles HTML avec un style CSS, puis les applique sur des documents PDF. La propriété HtmlBaseUrl spécifie l'URL de base des ressources de chaînes HTML telles que les fichiers CSS et les fichiers image. 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");
$vbLabelText   $csharpLabel

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

  • Html: Fragment HTML à apposer sur votre PDF. Les références externes à JavaScript, CSS et images sont relatives à HtmlBaseUrl.
  • HtmlBaseUrl: URL de base pour les références de fichiers CSS, JavaScript et image externes.
  • CssMediaType: Active les styles CSS Media="screen". Le paramètre AllowScreenCss=false affiche les timbres en utilisant CSS media="print". Par défaut : PdfCssMediaType.Screen.

Pourquoi utiliser HTML Stamper plutôt que Text Stamper?

HTMLStamper 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 riches en contenu. Elle doit maintenir une image de marque cohérente et fonctionner avec des conceptions CSS réactives.


Comment estampiller des BarCodes?

La classe BarcodeStamper appose des 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");
$vbLabelText   $csharpLabel

Quelles sont les options de configuration disponibles pour les BarCodes?

  • Value: Valeur de chaîne du code-barres.
  • BarcodeType: Type d'encodage prenant en charge QRCode, Code128 et Code39. Valeur 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 les combinaisons simples de chiffres 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 la transparence. 0 est invisible, 100 est opaque.
  • Rotation: Fait pivoter le tampon dans le sens horaire de 0 à 360 degrés.
  • MaxWidth: Largeur maximale du tampon de sortie.
  • MaxHeight: Hauteur maximale du timbre de sortie.
  • MinWidth: Largeur minimale du tampon de sortie.
  • MinHeight: Hauteur minimale du timbre de sortie.
  • Hyperlink: Ajoute un lien hypertexte au clic sur les éléments estampillés. Remarque : les liens HTML (balises a) ne sont pas préservés par l'estampillage.
  • Scale: Applique une échelle de pourcentage aux timbres. 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 du 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 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
};
$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 17,803,474 | Version : 2026.3 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.