Comment estampiller du texte et des images sur des PDF

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

par Chaknith Bin

L'ajout de texte et d'images à un PDF consiste à superposer du contenu supplémentaire à un document PDF existant. Ce contenu, souvent appelé "timbre", 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 au total 4 tampons qui peuvent être utilisés dans IronPDF. Cet article traite de TextStamper, ImageStamper, HTMLStamper, et BarcodeStamper. HTMLStamper est particulièrement puissant car il peut utiliser toutes les fonctionnalités HTML ainsi que le style CSS.


Bibliothèque NuGet C# pour PDF

Installer avec NuGet

Install-Package IronPdf
ou
Java PDF JAR

Télécharger DLL

Télécharger la DLL

Installation manuelle dans votre projet

Bibliothèque NuGet C# pour PDF

Installer avec NuGet

Install-Package IronPdf
ou
Java PDF JAR

Télécharger DLL

Télécharger la DLL

Installation manuelle dans votre projet

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

Première étape :
green arrow pointer

Découvrez IronPDF sur NuGet pour une installation rapide et un déploiement facile. Avec plus de 8 millions de téléchargements, il transforme PDF avec C#.

Bibliothèque NuGet C# pour PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

Envisagez d'installer le IronPDF DLL directement. Téléchargez et installez-le manuellement pour votre projet ou sous forme de GAC : {{lienDllAfficher}}

Installation manuelle dans votre projet

Télécharger la DLL

Exemple de texte de timbre

Tout d'abord, créez un objet de la classe TextStamper. Cet objet contiendra toutes les configurations permettant de spécifier la manière dont nous voulons que notre texte s'affiche. Passe l'objet TextStamper à la méthode ApplyStamp. La propriété Text sera le texte affiché. En outre, nous pouvons spécifier la famille et le style de la police, ainsi que l'emplacement du cachet.

: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")
VB   C#

Sortie PDF

Pour obtenir un texte sur plusieurs lignes dans TextStamper, utilisez la balise <br&gt ; comme en HTML. Par exemple, "ligne 1 <br&gt ; ligne 2" produira "ligne 1" sur la première ligne et "ligne 2" sur la seconde.


Exemple d'image de timbre

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

Conseils
Tous les index de pages suivent l'indexation à base 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")
VB   C#

Sortie PDF


Appliquer plusieurs tampons

Utilisez la méthode ApplyMultipleStamps pour appliquer plusieurs tampons sur le document en lui passant un tableau de tampons.

: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")
VB   C#

Sortie PDF


Emplacement du tampon

Pour définir l'emplacement du timbre, nous utilisons une grille de 3x3 avec trois colonnes horizontales et trois lignes verticales. Vous pouvez choisir l'alignement horizontal : gauche, centre et droite, ainsi que l'alignement vertical : haut, milieu et bas. Pour plus de précision, vous pouvez ajuster les décalages horizontaux et verticaux pour chaque position. L'image ci-dessous donne une représentation visuelle de ce concept.

Emplacement du tampon
  • HorizontalAlignment : L'alignement horizontal du timbre par rapport à la page. Le paramètre par défaut est HorizontalAlignment.Center.
  • VerticalAlignment : L'alignement vertical du timbre par rapport à la page. Le paramètre par défaut est VerticalAlignmentCenter.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 de la longueur est le pourcentage, mais elle peut également utiliser des unités de mesure telles que les pouces, les millimètres, les centimètres, les pixels et les 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)
}
VB   C#

Exemple HTML de timbre

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

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")
VB   C#
  • Html : Le fragment HTML à insérer dans votre PDF. Toutes les références externes aux fichiers JavaScript, CSS et images seront relatives à la propriété HtmlBaseUrl de la classe Stamper.
  • HtmlBaseUrl : L'URL de base HTML pour laquelle les références aux fichiers externes CSS, Javascript et Image seront relatives.
  • CssMediaType : Active les styles et feuilles de style CSS Media="screen". En définissant AllowScreenCss=false, IronPDF rend Stamp à partir de HTML en utilisant CSS pour media="print" comme s'il imprimait une page web dans une boîte de dialogue d'impression du navigateur. La valeur par défaut est PdfCssMediaType.Screen.

Exemple de code-barres pour les timbres

La classe BarcodeStamper peut être utilisée pour apposer un code-barres directement sur un document PDF existant. L'estampeuse prend en charge les types de codes-barres tels que 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")
VB   C#
  • Valeur : La valeur de la chaîne du code-barres.
  • BarcodeType : Le type d'encodage pour le code-barres, les types pris en charge étant QRCode, Code128 et Code39. La valeur par défaut est QRCode.
  • Width : La largeur du code-barres rendu en pixels. La valeur par défaut est de 250px.
  • Hauteur : La hauteur du code-barres rendu en pixels. La valeur par défaut est de 250px.

Explorer les options de tampons

En plus des options mentionnées et expliquées ci-dessus, voici d'autres options disponibles pour les classes d'estampeurs.

  • Opacité : Permet au timbre d'être transparent. 0 est totalement invisible, 100 est totalement opaque.
  • Rotation : Fait pivoter le timbre dans le sens des aiguilles d'une montre de 0 à 360 degrés, comme spécifié.
  • MaxWidth : La largeur maximale du timbre de sortie.
  • MaxHeight : La hauteur maximale du timbre de sortie.
  • MinWidth : La largeur minimale du timbre de sortie.
  • MinHeight : La hauteur minimale du timbre de sortie.
  • Lien hypertexte : Les éléments estampillés de ce Stamper sont dotés d'un lien hypertexte en cas de clic. Note : Les liens HTML créés par link(a) ne sont pas réservées par l'estampillage.
  • Echelle : Applique une échelle en pourcentage aux timbres pour les agrandir ou les réduire. La valeur par défaut est de 100 (Pourcentage)qui n'a aucun effet.
  • IsStampBehindContent : La valeur "true" permet d'appliquer le cachet derrière le contenu. Si le contenu est opaque, le cachet peut être invisible.
  • WaitFor : Une enveloppe pratique pour attendre divers événements ou simplement attendre un certain temps.
  • Timeout : Délai de rendu en secondes. La valeur par défaut est 60.

Chaknith Bin

Ingénieur logiciel

Chaknith est le Sherlock Holmes des développeurs. C'est en s'amusant à relever des défis de code qu'il s'est rendu compte pour la première fois qu'il pourrait avoir un avenir dans le domaine de l'ingénierie logicielle. Il se concentre sur IronXL et IronBarcode, mais il est fier d'aider les clients avec chaque produit. Chaknith tire parti des connaissances qu'il a acquises en discutant directement avec les clients pour améliorer les produits eux-mêmes. Ses commentaires anecdotiques vont au-delà des tickets Jira et soutiennent le développement de produits, la documentation et le marketing, afin d'améliorer l'expérience globale des clients.Quand il n'est pas au bureau, on peut le trouver en train d'apprendre sur l'apprentissage automatique, le codage et la randonnée.