Comment estampiller des BarCodes sur des PDF en utilisant C
Estampiller des codes-barres sur des documents PDF existants en C# en utilisant la méthode CreateBarcode d'IronBarcode avec StampToExistingPdfPage pour les pages uniques ou StampToExistingPdfPages pour les pages multiples, en spécifiant les coordonnées et les numéros de page.
Démarrage rapide : Imprimer un code-barres généré sur une page PDF
Cet exemple montre comment générer un code-barres à l'aide de CreateBarcode d'IronBarCode et l'apposer sur une page PDF existante. Fournissez le chemin d'accès au PDF, les coordonnées de position et le numéro de page.
-
Installez IronBarcode avec le Gestionnaire de Packages NuGet
PM > Install-Package BarCode -
Copiez et exécutez cet extrait de code.
IronBarCode.BarcodeWriter.CreateBarcode("https://my.site", IronBarCode.BarcodeEncoding.QRCode, 150, 150) .StampToExistingPdfPage("report.pdf", x: 50, y: 50, pageNumber: 1); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronBarcode dans votre projet dès aujourd'hui avec un essai gratuit
Flux de travail minimal (5 étapes)
- Téléchargez la bibliothèque C# pour imprimer un code-barres sur un PDF
- Créez un code-barres avec un type et une valeur spécifiques
- Spécifiez la taille du code-barres
- Utilisez la méthode `StampToExistingPdfPage` pour apposer le code-barres sur une seule page PDF.
- Utilisez la méthode `StampToExistingPdfPages` pour apposer le code-barres sur plusieurs pages PDF.
Comment estampiller un BarCode sur une page PDF existante?
En plus d'exporter les codes-barres au format PDF, IronBarcode permet d'apposer le GeneratedBarcode directement sur des documents PDF existants. Cette fonctionnalité est utile pour ajouter des codes de suivi, des étiquettes d'inventaire ou des identifiants de documents à des rapports, factures ou formulaires existants. L'extrait de code suivant illustre cette tâche.
:path=/static-assets/barcode/content-code-examples/how-to/StampBarcodeOnExistingPdfPage.cs
using IronBarCode;
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128, 200, 100);
myBarcode.StampToExistingPdfPage("pdf_file_path.pdf", x: 200, y: 100, 3, "password");
Imports IronBarCode
Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128, 200, 100)
myBarcode.StampToExistingPdfPage("pdf_file_path.pdf", x:= 200, y:= 100, 3, "password")
Quels sont les paramètres requis par StampToExistingPdfPage?
L'extrait de code appelle la méthode StampToExistingPdfPage() avec un objet GeneratedBarcode pour estampiller l'objet sur le document PDF. Cette méthode offre une certaine flexibilité tout en restant simple. Les paramètres de la méthode sont indiqués ci-dessous :
pdfFilePath: Une chaîne System.String représentant le chemin du document PDF (relatif ou absolu).x: Un System.Int32 pour la position horizontale en pixels à partir du bord gauche.y: Un System.Int32 pour la position verticale en pixels à partir du bord inférieur.pageNumber: Un System.Int32 indiquant la page (indexé à partir de 1, la première page est 1).password: Une chaîne System.String pour les PDF protégés par mot de passe (facultatif).
Quand dois-je utiliser StampToExistingPdfPage?
L'exécution de cet extrait de code intègre directement le GeneratedBarcode dans le document PDF sans enregistrement intermédiaire. Cette méthode convient aux scénarios nécessitant :
- Codes de suivi uniques sur les étiquettes d'expédition ou les documents de livraison
- Numéros de lots sur les rapports de fabrication
- Numéros de contrôle des documents sur les formulaires légaux ou réglementaires
- Codes QR pour l'authentification numérique ou les liens d'accès rapide
L'approche de l'estampillage direct permet d'économiser du temps de traitement et d'éliminer les fichiers temporaires. Pour en savoir plus sur les différents types de codes-barres, consultez le guide des formats de codes-barres pris en charge.
Comment estampiller un BarCode sur plusieurs pages PDF?
Il arrive que le même BarCode doive être apposé sur plusieurs pages. Les utilisations courantes comprennent l'application d'identificateurs de documents à chaque page de rapports de plusieurs pages, l'ajout de codes de contrôle de version tout au long des documents techniques ou l'insertion de BarCode de sécurité sur chaque page de documents confidentiels. Au lieu de boucler la méthode monopage, utilisez la méthode StampToExistingPdfPages() de la classe GeneratedBarcode. L'extrait de code suivant illustre cette méthode.
:path=/static-assets/barcode/content-code-examples/how-to/StampBarcodeOnMultiplePdfPages.cs
using IronBarCode;
using System.Collections.Generic;
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128, 200, 100);
List<int> pages = new List<int>();
pages.Add(1);
pages.Add(2);
pages.Add(3);
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, pages, "password");
Imports IronBarCode
Imports System.Collections.Generic
Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128, 200, 100)
Private pages As New List(Of Integer)()
pages.Add(1)
pages.Add(2)
pages.Add(3)
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x:= 200, y:= 100, pages, "password")
Pour plus de flexibilité, utilisez LINQ pour générer des plages de pages de manière dynamique :
// Stamp on all even pages from 2 to 10
var evenPages = Enumerable.Range(1, 10).Where(x => x % 2 == 0).ToList();
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, evenPages, "password");
// Stamp on the first and last 3 pages of a 20-page document
var selectedPages = new List<int> { 1, 2, 3, 18, 19, 20 };
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, selectedPages, "password");
// Stamp on all even pages from 2 to 10
var evenPages = Enumerable.Range(1, 10).Where(x => x % 2 == 0).ToList();
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, evenPages, "password");
// Stamp on the first and last 3 pages of a 20-page document
var selectedPages = new List<int> { 1, 2, 3, 18, 19, 20 };
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x: 200, y: 100, selectedPages, "password");
Imports System.Linq
' Stamp on all even pages from 2 to 10
Dim evenPages = Enumerable.Range(1, 10).Where(Function(x) x Mod 2 = 0).ToList()
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x:=200, y:=100, evenPages, "password")
' Stamp on the first and last 3 pages of a 20-page document
Dim selectedPages = New List(Of Integer) From {1, 2, 3, 18, 19, 20}
myBarcode.StampToExistingPdfPages("pdf_file_path.pdf", x:=200, y:=100, selectedPages, "password")
Quels sont les paramètres acceptés par StampToExistingPdfPages?
Les paramètres de la méthode sont indiqués ci-dessous :
pdfFilePath: Une chaîne System.String représentant le chemin d'accès au document PDF.x: Un System.Int32 pour la position horizontale en pixels.y: Un System.Int32 pour la position verticale en pixels.pageNumbers: Un IEnumerablede pages à tamponner (1-indexé). password: Une chaîne System.String pour les PDF protégés par mot de passe (facultatif).
Pourquoi utiliser StampToExistingPdfPages au lieu de Looping?
Cette méthode permet d'apposer efficacement des codes-barres sur plusieurs pages sans itération manuelle, ce qui améliore la lisibilité du code et les performances. L'implémentation interne optimise le traitement des PDF, ce qui se traduit par :
- Exécution plus rapide : PDF ouvert et traité une seule fois, et non plusieurs fois
- Moindre utilisation de la mémoire : gestion efficace des ressources pour les PDF volumineux
- Code plus propre : pas de gestion manuelle des boucles et des erreurs
- Opérations atomiques : Toutes les pages sont estampillées en une seule opération
Techniques d'estampage avancées
Personnaliser l'apparence du BarCode avant l'estampillage
Avant d'apposer votre BarCode sur un PDF, personnalisez son apparence. IronBarcode offers extensive customization options:
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("INVOICE-2024-001", BarcodeEncoding.Code128, 250, 80);
// Customize the appearance
myBarcode.AddAnnotationTextAboveBarcode("Invoice Number");
myBarcode.AddAnnotationTextBelowBarcode("Scan for digital copy");
myBarcode.SetMargins(10);
myBarcode.ChangeBarcodeForegroundColor(System.Drawing.Color.DarkBlue);
// Now stamp the customized barcode
myBarcode.StampToExistingPdfPage("invoice.pdf", x: 450, y: 700, pageNumber: 1);
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("INVOICE-2024-001", BarcodeEncoding.Code128, 250, 80);
// Customize the appearance
myBarcode.AddAnnotationTextAboveBarcode("Invoice Number");
myBarcode.AddAnnotationTextBelowBarcode("Scan for digital copy");
myBarcode.SetMargins(10);
myBarcode.ChangeBarcodeForegroundColor(System.Drawing.Color.DarkBlue);
// Now stamp the customized barcode
myBarcode.StampToExistingPdfPage("invoice.pdf", x: 450, y: 700, pageNumber: 1);
Dim myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("INVOICE-2024-001", BarcodeEncoding.Code128, 250, 80)
' Customize the appearance
myBarcode.AddAnnotationTextAboveBarcode("Invoice Number")
myBarcode.AddAnnotationTextBelowBarcode("Scan for digital copy")
myBarcode.SetMargins(10)
myBarcode.ChangeBarcodeForegroundColor(System.Drawing.Color.DarkBlue)
' Now stamp the customized barcode
myBarcode.StampToExistingPdfPage("invoice.pdf", x:=450, y:=700, pageNumber:=1)
Travailler avec différents types de BarCodes
Différents scénarios nécessitent différents types de codes-barres. Les codes QR conviennent aux URL et aux grands ensembles de données, tandis que le Code128 convient aux identificateurs alphanumériques. Learn more about creating QR codes or explore other formats:
// QR Code for contact information
var qrCode = BarcodeWriter.CreateBarcode("BEGIN:VCARD\nFN:John Doe\nTEL:555-1234\nEND:VCARD",
BarcodeEncoding.QRCode, 150, 150);
qrCode.StampToExistingPdfPage("businesscard.pdf", x: 400, y: 50, pageNumber: 1);
// Data Matrix for product tracking
var dataMatrix = BarcodeWriter.CreateBarcode("PROD-2024-BATCH-789",
BarcodeEncoding.DataMatrix, 100, 100);
dataMatrix.StampToExistingPdfPage("product_sheet.pdf", x: 50, y: 750, pageNumber: 1);
// QR Code for contact information
var qrCode = BarcodeWriter.CreateBarcode("BEGIN:VCARD\nFN:John Doe\nTEL:555-1234\nEND:VCARD",
BarcodeEncoding.QRCode, 150, 150);
qrCode.StampToExistingPdfPage("businesscard.pdf", x: 400, y: 50, pageNumber: 1);
// Data Matrix for product tracking
var dataMatrix = BarcodeWriter.CreateBarcode("PROD-2024-BATCH-789",
BarcodeEncoding.DataMatrix, 100, 100);
dataMatrix.StampToExistingPdfPage("product_sheet.pdf", x: 50, y: 750, pageNumber: 1);
' QR Code for contact information
Dim qrCode = BarcodeWriter.CreateBarcode("BEGIN:VCARD" & vbLf & "FN:John Doe" & vbLf & "TEL:555-1234" & vbLf & "END:VCARD",
BarcodeEncoding.QRCode, 150, 150)
qrCode.StampToExistingPdfPage("businesscard.pdf", x:=400, y:=50, pageNumber:=1)
' Data Matrix for product tracking
Dim dataMatrix = BarcodeWriter.CreateBarcode("PROD-2024-BATCH-789",
BarcodeEncoding.DataMatrix, 100, 100)
dataMatrix.StampToExistingPdfPage("product_sheet.pdf", x:=50, y:=750, pageNumber:=1)
Gestion des erreurs et meilleures pratiques
Mettre en œuvre une gestion correcte des erreurs lors des opérations d'estampillage de PDF :
try
{
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("DOCUMENT-ID-12345",
BarcodeEncoding.Code128, 200, 60);
// Verify the PDF exists before attempting to stamp
if (File.Exists("target.pdf"))
{
myBarcode.StampToExistingPdfPage("target.pdf", x: 100, y: 100, pageNumber: 1);
Console.WriteLine("Barcode stamped successfully!");
}
else
{
Console.WriteLine("PDF file not found!");
}
}
catch (Exception ex)
{
Console.WriteLine($"Error stamping barcode: {ex.Message}");
// Log the error or handle it appropriately
}
try
{
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("DOCUMENT-ID-12345",
BarcodeEncoding.Code128, 200, 60);
// Verify the PDF exists before attempting to stamp
if (File.Exists("target.pdf"))
{
myBarcode.StampToExistingPdfPage("target.pdf", x: 100, y: 100, pageNumber: 1);
Console.WriteLine("Barcode stamped successfully!");
}
else
{
Console.WriteLine("PDF file not found!");
}
}
catch (Exception ex)
{
Console.WriteLine($"Error stamping barcode: {ex.Message}");
// Log the error or handle it appropriately
}
Imports System
Imports System.IO
Try
Dim myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("DOCUMENT-ID-12345", BarcodeEncoding.Code128, 200, 60)
' Verify the PDF exists before attempting to stamp
If File.Exists("target.pdf") Then
myBarcode.StampToExistingPdfPage("target.pdf", x:=100, y:=100, pageNumber:=1)
Console.WriteLine("Barcode stamped successfully!")
Else
Console.WriteLine("PDF file not found!")
End If
Catch ex As Exception
Console.WriteLine($"Error stamping barcode: {ex.Message}")
' Log the error or handle it appropriately
End Try
Considérations de performance
Lorsque vous travaillez avec des PDF volumineux ou des opérations d'estampillage multiples, tenez compte des conseils suivants :
- Opérations par lots : Utilisez
StampToExistingPdfPages()au lieu de la boucleStampToExistingPdfPage() - Mise en cache des codes-barres : Créez une seule fois l'objet
GeneratedBarcodeet réutilisez-le. - Calcul des coordonnées : Pré-calculer des coordonnées de position cohérentes
- Gestion de la mémoire : Traiter des PDF très volumineux par lots
For advanced scenarios involving reading barcodes from PDFs after stamping, see our guide on reading barcodes from PDF documents.
Intégration avec d'autres fonctionnalités d'IronBarcode
La fonctionnalité d'estampillage PDF fonctionne de manière transparente avec les autres fonctionnalités d'IronBarcode. Combine it with asynchronous processing for better web application performance:
// Asynchronous PDF stamping
public async Task StampBarcodeAsync(string pdfPath, string barcodeData)
{
await Task.Run(() =>
{
var barcode = BarcodeWriter.CreateBarcode(barcodeData, BarcodeEncoding.QRCode, 200, 200);
barcode.StampToExistingPdfPage(pdfPath, x: 100, y: 100, pageNumber: 1);
});
}
// Asynchronous PDF stamping
public async Task StampBarcodeAsync(string pdfPath, string barcodeData)
{
await Task.Run(() =>
{
var barcode = BarcodeWriter.CreateBarcode(barcodeData, BarcodeEncoding.QRCode, 200, 200);
barcode.StampToExistingPdfPage(pdfPath, x: 100, y: 100, pageNumber: 1);
});
}
Imports System.Threading.Tasks
' Asynchronous PDF stamping
Public Async Function StampBarcodeAsync(pdfPath As String, barcodeData As String) As Task
Await Task.Run(Sub()
Dim barcode = BarcodeWriter.CreateBarcode(barcodeData, BarcodeEncoding.QRCode, 200, 200)
barcode.StampToExistingPdfPage(pdfPath, x:=100, y:=100, pageNumber:=1)
End Sub)
End Function
Additionally, leverage IronBarcode's image correction features when working with scanned PDFs that might need enhancement before or after barcode stamping.
Résolution des problèmes courants
Si vous rencontrez des problèmes lors de l'estampillage de codes-barres sur des PDF, voici des solutions :
- Coordonnées : Les coordonnées PDF partent du coin inférieur gauche et non du coin supérieur gauche
- PDF protégés par mot de passe : garantir un paramètre de mot de passe correct pour les PDF cryptés
- Large File Sizes: For optimization and handling tips, see our troubleshooting guide
- Font or Encoding Issues: For special characters or Unicode, check our writing Unicode barcodes guide
Le respect de ces directives et l'exploitation des capacités d'estampillage PDF d'IronBarcode permettent d'ajouter efficacement des codes-barres à des documents PDF existants tout en maintenant des performances élevées et une qualité de code élevée.
Questions Fréquemment Posées
Comment ajouter un BarCode à un document PDF existant en C# ?
Utilisez la méthode CreateBarcode d'IronBarcode pour générer un code-barres, puis appliquez la méthode StampToExistingPdfPage pour le placer sur votre PDF. Il suffit de spécifier le chemin d'accès au fichier PDF, les coordonnées de position (x, y) et le numéro de page où vous souhaitez que le code-barres apparaisse.
Quels sont les paramètres requis pour la méthode StampToExistingPdfPage ?
La méthode StampToExistingPdfPage d'IronBarcode nécessite : pdfFilePath (chaîne de caractères pour l'emplacement du PDF), des coordonnées x et y (entiers pour le positionnement en pixels), pageNumber (entier, indexé à 1), et un paramètre de mot de passe facultatif pour les PDF protégés.
Puis-je apposer le même BarCode sur plusieurs pages d'un PDF ?
Oui, IronBarcode fournit la méthode StampToExistingPdfPages (notez le pluriel " Pages ") qui vous permet d'apposer un seul code-barres généré sur plusieurs pages de votre document PDF.
Quel est le système de coordonnées utilisé pour positionner les codes-barres sur les PDF ?
IronBarcode utilise un système de coordonnées basé sur les pixels où la coordonnée x mesure à partir du bord gauche de la page, et la coordonnée y mesure à partir du bord inférieur de la page lors de l'utilisation de la méthode StampToExistingPdfPage.
Quels sont les cas d'utilisation courants pour l'estampillage de codes-barres sur des PDF existants ?
La fonction d'estampillage PDF d'IronBarcode est couramment utilisée pour ajouter des codes de suivi uniques aux étiquettes d'expédition, des numéros de lot sur les rapports de fabrication, des numéros de contrôle de documents sur les formulaires juridiques et des codes QR pour l'authentification numérique ou les liens d'accès rapide.
L'apposition d'un BarCode sur un PDF nécessite-t-elle l'enregistrement de fichiers intermédiaires ?
Non, la méthode StampToExistingPdfPage d'IronBarcode tamponne le code-barres directement sur le document PDF sans créer de fichiers temporaires, ce qui permet d'économiser du temps de traitement et de l'espace de stockage.
Puis-je apposer des codes-barres sur des documents PDF protégés par un mot de passe ?
Oui, IronBarcode prend en charge l'estampillage de codes-barres sur des PDF protégés par mot de passe. Il suffit de fournir le mot de passe du PDF en tant que paramètre facultatif dans la méthode StampToExistingPdfPage.

