Wie man Barcodes in PDF-Dokumenten mit IronBarcode erstellt und stempelt

Stempeln von BarCodes auf PDFs mit C#35;

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

Mit der Methode CreateBarcode von IronBarcode und StampToExistingPdfPage für einzelne Seiten oder StampToExistingPdfPages für mehrere Seiten können Sie in C# Barcodes auf vorhandene PDF-Dokumente stempeln und dabei Koordinaten und Seitenzahlen angeben.

als-Überschrift:2(Schnellstart: Einen GeneratedBarcode auf eine PDF-Seite stempeln)

Dieses Beispiel zeigt, wie ein Barcode mit IronBarCode's CreateBarcode erzeugt und auf eine bestehende PDF-Seite gestempelt wird. Geben Sie den PDF-Pfad, die Positionskoordinaten und die Seitenzahl an.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronBarcode mit dem NuGet-Paketmanager.

    PM > Install-Package BarCode

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    IronBarCode.BarcodeWriter.CreateBarcode("https://my.site", IronBarCode.BarcodeEncoding.QRCode, 150, 150)
        .StampToExistingPdfPage("report.pdf", x: 50, y: 50, pageNumber: 1);
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronBarcode in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer

Wie kann ich einen BarCode auf eine bestehende PDF-Seite stempeln?

Apart from exporting barcodes as PDF, IronBarcode enables stamping the GeneratedBarcode directly onto existing PDF documents. Diese Funktion ist nützlich beim Hinzufügen von Tracking-Codes, Inventar-Etiketten oder Dokumentenkennungen zu bestehenden Berichten, Rechnungen oder Formularen. Der folgende Codeschnipsel veranschaulicht diese Aufgabe.

: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")
$vbLabelText   $csharpLabel

Welche Parameter sind für StampToExistingPdfPage erforderlich?

Der Codeschnipsel ruft die Methode StampToExistingPdfPage() mit einem GeneratedBarcode-Objekt auf, um das Objekt in das PDF-Dokument zu stempeln. Diese Methode bietet Flexibilität bei gleichzeitiger Einfachheit. Im Folgenden finden Sie die Parameter der Methode:

  • pdfFilePath: Ein System.String, der den Pfad zum PDF-Dokument angibt (relativ oder absolut).
  • x: Ein System.Int32 für die horizontale Position in Pixeln vom linken Rand.
  • y: Ein System.Int32 für die vertikale Position in Pixeln vom unteren Rand.
  • Seitennummer: Eine System.Int32, die die Seite angibt (1-indiziert, erste Seite ist 1).
  • Passwort: Ein System.String für passwortgeschützte PDFs (optional).

Wann sollte ich StampToExistingPdfPage verwenden?

Durch Ausführen des Codeschnipsels wird der GeneratedBarcode ohne Zwischenspeicherung direkt in das PDF-Dokument gestempelt. Diese Methode eignet sich für Szenarien, die Folgendes erfordern:

  • Eindeutige Tracking-Codes auf Versandetiketten oder Lieferdokumenten
  • Chargennummern auf Fertigungsberichten
  • Dokumentenkontrollnummern auf rechtlichen oder behördlichen Formularen
  • QR-Codes für digitale Authentifizierung oder Schnellzugriffslinks

Der Ansatz des direkten Stempelns spart Bearbeitungszeit und eliminiert temporäre Dateien. For information on different barcode types, see the supported barcode formats guide.

Wie kann ich einen BarCode auf mehrere PDF-Seiten stempeln?

Manchmal muss derselbe BarCode auf mehreren Seiten eingeprägt werden. Zu den üblichen Verwendungszwecken gehören das Anbringen von Dokumentenkennungen auf jeder Seite mehrseitiger Berichte, das Hinzufügen von Versionskontrollcodes in technischen Dokumenten oder das Einfügen von Sicherheitsbarcodes auf jeder Seite vertraulicher Materialien. Verwenden Sie statt der Schleife der Einzelseitenmethode die Methode StampToExistingPdfPages() der Klasse GeneratedBarcode. Der folgende Codeschnipsel veranschaulicht diese Methode.

: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")
$vbLabelText   $csharpLabel

Für mehr Flexibilität sollten Sie LINQ verwenden, um Seitenbereiche dynamisch zu generieren:

// 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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Welche Parameter akzeptiert StampToExistingPdfPages?

Im Folgenden finden Sie die Parameter der Methode:

  • pdfFilePath: Ein System.String, der den Pfad zum PDF-Dokument angibt.
  • x: Ein System.Int32 für die horizontale Position in Pixeln.
  • y: Ein System.Int32 für die vertikale Position in Pixel.
  • pageNumbers: Eine IEnumerable der zu stempelnden Seiten (1-indiziert).
  • Passwort: Ein System.String für passwortgeschützte PDFs (optional).

Warum StampToExistingPdfPages anstelle einer Schleife verwenden?

Diese Methode ermöglicht ein effizientes Stempeln von Barcodes auf mehreren Seiten ohne manuelle Iteration und verbessert die Lesbarkeit und Leistung des Codes. Die interne Implementierung optimiert die PDF-Verarbeitung, was sich in:

  • Schnellere Ausführung: PDF wird nur einmal geöffnet und verarbeitet, nicht mehrmals
  • Geringere Speichernutzung: Effizientes Ressourcenmanagement für große PDFs
  • Sauberer Code: Keine manuelle Verwaltung von Schleifen und Fehlerbehandlung
  • Atomische Operationen: Alle Seiten werden in einer einzigen Operation gestempelt

Fortgeschrittene Stanztechniken

Anpassen des Aussehens von BarCodes vor dem Stempeln

Bevor Sie Ihren Barcode in eine PDF-Datei stempeln, sollten Sie sein Aussehen anpassen. 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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Arbeiten mit verschiedenen BarCode-Typen

Verschiedene Szenarien erfordern unterschiedliche Barcodetypen. QR-Codes eignen sich für URLs und große Datensätze, während Code128 für alphanumerische Bezeichnungen geeignet ist. 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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Fehlerbehandlung und bewährte Praktiken

Implementierung einer angemessenen Fehlerbehandlung bei der Arbeit mit PDF-Stempeloperationen:

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
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Erwägungen zur Leistung

Wenn Sie mit großen PDF-Dateien oder mehreren Stempelvorgängen arbeiten, sollten Sie diese Tipps beachten:

  1. Batch-Operationen: Verwenden Sie StampToExistingPdfPages() statt der Schleife StampToExistingPdfPage()
  2. BarCode Caching: Einmal erstellen und das GeneratedBarcode Objekt wiederverwenden
  3. Koordinatenberechnung: Konsistente Positionskoordinaten vorberechnen
  4. Speichermanagement: Verarbeitung sehr großer PDF-Dateien in Stapeln

For advanced scenarios involving reading barcodes from PDFs after stamping, see our guide on reading barcodes from PDF documents.

Integration mit anderen IronBarcode-Funktionen

Die PDF-Stempelfunktionalität arbeitet nahtlos mit anderen IronBarcode-Funktionen zusammen. 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);
    });
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Additionally, leverage IronBarcode's image correction features when working with scanned PDFs that might need enhancement before or after barcode stamping.

Behebung häufiger Probleme

Wenn Sie beim Stempeln von Barcodes auf PDFs auf Probleme stoßen, finden Sie hier Lösungen:

  1. Koordinaten-Probleme: PDF-Koordinaten beginnen in der linken unteren Ecke, nicht links oben
  2. Passwortgeschützte PDFs: Sicherstellung der korrekten Passwortparameter für verschlüsselte PDFs
  3. Large File Sizes: For optimization and handling tips, see our troubleshooting guide
  4. Font or Encoding Issues: For special characters or Unicode, check our writing Unicode barcodes guide

Die Befolgung dieser Richtlinien und die Nutzung der IronBarcode-Funktionen zum Stempeln von PDF-Dokumenten ermöglicht das effiziente Hinzufügen von Barcodes zu bestehenden PDF-Dokumenten bei gleichzeitiger Beibehaltung einer hohen Leistung und Codequalität.

Häufig gestellte Fragen

Wie füge ich in C# einen Barcode zu einem bestehenden PDF-Dokument hinzu?

Verwenden Sie die CreateBarcode-Methode von IronBarcode, um einen Barcode zu generieren, und wenden Sie dann die StampToExistingPdfPage-Methode an, um ihn auf Ihrem PDF zu platzieren. Geben Sie einfach den Pfad zur PDF-Datei, die Positionskoordinaten (x, y) und die Seitenzahl an, auf der der Barcode erscheinen soll.

Welche Parameter sind für die Methode StampToExistingPdfPage erforderlich?

Die StampToExistingPdfPage-Methode in IronBarcode erfordert: pdfFilePath (String für den PDF-Speicherort), x- und y-Koordinaten (Ganzzahlen für die Positionierung in Pixeln), pageNumber (Ganzzahl, 1-indiziert) und einen optionalen Passwortparameter für geschützte PDFs.

Kann ich denselben Barcode auf mehrere Seiten einer PDF-Datei stempeln?

Ja, IronBarcode bietet die StampToExistingPdfPages-Methode (beachten Sie den Plural 'Pages'), mit der Sie einen einzelnen generierten Barcode auf mehrere Seiten in Ihrem PDF-Dokument stempeln können.

Welches Koordinatensystem wird für die Positionierung von Barcodes auf PDFs verwendet?

IronBarcode verwendet ein pixelbasiertes Koordinatensystem, bei dem die x-Koordinate vom linken Rand der Seite und die y-Koordinate vom unteren Rand der Seite aus gemessen wird, wenn die Methode StampToExistingPdfPage verwendet wird.

Was sind häufige Anwendungsfälle für das Einprägen von Barcodes in bestehende PDFs?

Die PDF-Stempelfunktion von IronBarcode wird häufig verwendet, um eindeutige Tracking-Codes auf Versandetiketten, Chargennummern auf Fertigungsberichten, Dokumentenkontrollnummern auf Rechtsformularen und QR-Codes für die digitale Authentifizierung oder Schnellzugriffslinks hinzuzufügen.

Müssen beim Aufdrucken eines Barcodes auf eine PDF-Datei Zwischendateien gespeichert werden?

Nein, die StampToExistingPdfPage-Methode von IronBarcode stempelt den Barcode direkt auf das PDF-Dokument, ohne temporäre Dateien zu erstellen, was Verarbeitungszeit und Speicherplatz spart.

Kann ich Barcodes in passwortgeschützte PDF-Dokumente stempeln?

Ja, IronBarcode unterstützt das Stempeln von Barcodes auf passwortgeschützte PDFs. Geben Sie einfach das PDF-Passwort als optionalen Parameter in der Methode StampToExistingPdfPage an.

Hairil Hasyimi Bin Omar
Software Ingenieur
Wie alle großen Ingenieure ist Hairil ein leidenschaftlicher Lerner. Er verfeinert sein Wissen in C#, Python und Java, um Iron Software-Teammitgliedern Mehrwert zu bieten. Hairil kam von der Universiti Teknologi MARA in Malaysia, wo er seinen Bachelor in Chemie- und Verfahrenstechnik abschloss.
Bereit anzufangen?
Nuget Downloads 2,002,059 | Version: 2025.12 gerade veröffentlicht