Barcode mit C# zu PDF hinzufügen

PDF ist das beliebteste Format zum Teilen und Drucken von Dokumenten. Viele Organisationen verwenden PDF als Standardformat zum Erstellen von Berichten und zum Teilen anderer offizieller Dokumente. In bestimmten Fällen müssen wir möglicherweise bestimmte Daten oder Informationen über das Dokument, Produkt oder Unternehmen als Barcode-Bild in PDF-Dokumente einbetten. Wir können einem PDF-Dokument in .NET-Anwendungen programmgesteuert ein maschinenlesbares Barcode-Bild hinzufügen. In diesem Artikel erfahren Sie, wie Sie mit C# einen Barcode zu PDF-Dokumenten hinzufügen.

Der Artikel soll folgende Themen behandeln:

C#-API zum Hinzufügen von Barcodes zu PDF

Um Barcodes zu PDF-Dokumenten hinzuzufügen, folgen wir einem zweistufigen Verfahren. Zuerst verwenden wir die Aspose.PDF for .NET-API, um ein PDF-Dokument zu erstellen oder zu laden, dann generieren wir das Barcode-Bild und fügen es mit [Aspose.BarCode for .NET][] der PDF-Datei hinzu. 3] API. Bitte entweder die DLLs der APIs herunterladen oder sie mit NuGet installieren.

PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.PDF

PDF-Dokument erstellen und Barcode in C# hinzufügen

Wir können ein neues PDF-Dokument erstellen und dem PDF ein Barcode-Bild hinzufügen, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie zunächst eine Instanz der Klasse BarcodeGenerator mit dem EncodeType und dem zu codierenden Text als Argumente.
  2. Erstellen Sie als Nächstes eine Instanz des Speicher-Stream-Objekts
  3. Rufen Sie dann die Methode Save() auf, um das Barcodebild im Speicherstream zu speichern.
  4. Erstellen Sie als Nächstes eine Instanz der Klasse Document.
  5. Fügen Sie dann dem neu erstellten PDF-Dokument eine Seite hinzu.
  6. Erstellen Sie als Nächstes eine Instanz der Klasse PdfFileMend.
  7. Rufen Sie dann die Methode BindPdf() mit dem Document-Objekt auf, um es zu binden.
  8. Rufen Sie als Nächstes die Methode AddImage() mit den Koordinaten des Stream-Objekts und der Bildposition als Argumente auf.
  9. Speichern Sie danach das PDF mit der Methode Save(). Als Argument wird der Pfad der Ausgabe-PDF-Datei verwendet.
  10. Rufen Sie schließlich die Methode Close() auf, um das PdfFileMend-Objekt zu schließen.

Das folgende Codebeispiel zeigt, wie Sie mit C# ein neues PDF-Dokument erstellen und ein Barcodebild hinzufügen.

// Dieses Codebeispiel zeigt, wie Sie einem PDF ein Barcode-Bild hinzufügen.
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = @"D:\Files\BarCode\";

// Lineares Barcodeobjekt instanziieren, Codetext und Symbologietyp für den Barcode festlegen
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// Speicherstream erstellen und Barcodebild im Speicherstream speichern
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Erstellen Sie ein PDF-Dokument und fügen Sie dem Dokument eine Seite hinzu
Document doc = new Document();
doc.Pages.Add();

// Dokument öffnen
PdfFileMend mender = new PdfFileMend();

// Binden Sie das PDF, um Barcode hinzuzufügen
mender.BindPdf(doc);

// Barcode-Bild in die PDF-Datei einfügen
mender.AddImage(ms, 1, 100, 600, 200, 700);

// Änderungen speichern
mender.Save(dataDir + "AddImage_out.pdf");

// PdfFileMend-Objekt schließen
mender.Close();
PDF-Dokument erstellen und Barcode in C# hinzufügen.

PDF-Dokument erstellen und Barcode in C# hinzufügen.

Barcode zu bestehendem PDF-Dokument in C# hinzufügen

Wir können auch jeder Seite bestehender PDF-Dokumente ein Barcode-Bild hinzufügen. Die Methode AddImage() ermöglicht das Hinzufügen eines Bildes zur angegebenen Seite des PDF-Dokuments an angegebenen Koordinaten. Wir können ein Bild in ein vorhandenes PDF-Dokument einfügen, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie zunächst eine Instanz der Klasse BarcodeGenerator mit dem EncodeType und dem zu codierenden Text als Argumente.
  2. Erstellen Sie als Nächstes eine Instanz des Speicher-Stream-Objekts
  3. Rufen Sie dann die Methode Save() auf, um das Barcodebild im Speicherstream zu speichern.
  4. Laden Sie als Nächstes das PDF-Dokument mit der Klasse Document.
  5. Erstellen Sie dann eine Instanz der Klasse PdfFileMend.
  6. Rufen Sie als Nächstes die Methode BindPdf() mit dem Document-Objekt auf, um es zu binden.
  7. Rufen Sie dann die Methode AddImage() mit dem Stream-Objekt, der Seitennummer und den Koordinaten der Bildposition als Argumente auf.
  8. Speichern Sie danach das PDF mit der Methode Save(). Als Argument wird der Pfad der Ausgabe-PDF-Datei verwendet.
  9. Rufen Sie schließlich die Methode Close() auf, um das PdfFileMend-Objekt zu schließen.

Das folgende Codebeispiel zeigt, wie Sie einem vorhandenen PDF-Dokument mithilfe von C# ein Barcodebild hinzufügen.

// Dieses Codebeispiel zeigt, wie Sie einem vorhandenen PDF ein Barcode-Bild hinzufügen.
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = @"D:\Files\BarCode\";

// Lineares Barcodeobjekt instanziieren, Codetext und Symbologietyp für den Barcode festlegen
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// Speicherstream erstellen und Barcodebild im Speicherstream speichern
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Laden Sie ein PDF-Dokument
Document doc = new Document(dataDir + "sample.pdf");

// Dokument öffnen
PdfFileMend mender = new PdfFileMend();

// PDF binden, um Barcode-Bild hinzuzufügen
mender.BindPdf(doc);

// Barcode-Bild in die PDF-Datei einfügen
mender.AddImage(ms, 1, 70, 0, 200, 600);

// Änderungen speichern
mender.Save(dataDir + "Sample_out.pdf");

// PdfFileMend-Objekt schließen
mender.Close();
Barcode zu einem bestehenden PDF-Dokument in C# hinzufügen.

Barcode zu einem bestehenden PDF-Dokument in C# hinzufügen.

QR-Code zu PDF-Dokumenten in C# hinzufügen

In ähnlicher Weise können wir den PDF-Dokumenten auch einen QR-Code hinzufügen, indem wir die zuvor genannten Schritte ausführen. Wir müssen jedoch im ersten Schritt nur den EncodeType als QR festlegen. Möglicherweise müssen wir auch die Bildposition in Schritt 7 anpassen.

Das folgende Codebeispiel zeigt, wie Sie einem PDF-Dokument mit C# einen QR-Code hinzufügen.

// Dieses Codebeispiel zeigt, wie Sie einem vorhandenen PDF QR-Code hinzufügen.
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = @"D:\Files\BarCode\";

// Lineares Barcodeobjekt instanziieren, Codetext und Symbologietyp für den Barcode festlegen
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// Speicherstream erstellen und Barcodebild im Speicherstream speichern
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Laden Sie ein PDF-Dokument
Document doc = new Document(dataDir + "sample.pdf");

// Dokument öffnen
PdfFileMend mender = new PdfFileMend();

// PDF binden, um Barcode-Bild hinzuzufügen
mender.BindPdf(doc);

// QR-Bild in die PDF-Datei einfügen
mender.AddImage(ms, 1, 0, 650, 200, 780);

// Änderungen speichern
mender.Save(dataDir + "Sample_QR_out.pdf");

// PdfFileMend-Objekt schließen
mender.Close();
QR-Code zu PDF-Dokumenten in C# hinzufügen.

QR-Code zu PDF-Dokumenten in C# hinzufügen.

Barcode aus PDF-Dokument mit C# lesen

Mit der Klasse PdfExtractor können wir jedes Barcode-Bild erkennen, das auf einer der Seiten des PDF-Dokuments eingebettet ist. Es ermöglicht das Extrahieren von Bildern aus PDF, und dann lesen wir die Barcode-Informationen aus dem extrahierten Bild. Wir können Barcodes aus den PDF-Dokumenten lesen, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie zunächst eine Instanz der Klasse PdfExtractor.
  2. Binden Sie als Nächstes das Eingabe-PDF-Dokument mit der Methode BindPdf().
  3. Legen Sie dann den Seitenbereich für die Bildextraktion fest.
  4. Rufen Sie als Nächstes die Methode ExtractImage() auf, um die Bilder zu extrahieren.
  5. Speichern Sie dann das Bild, um es in einer Schleife zu streamen.
  6. Erstellen Sie als Nächstes eine Instanz der Klasse BarCodeReader mit Bildstream und DecodeType als Argumente.
  7. Rufen Sie danach die Methode ReadBarCodes() auf, um das Objekt BarCodeResult zu erhalten.
  8. Zeigen Sie schließlich die Barcode-Informationen an.

Das folgende Codebeispiel zeigt, wie ein Barcodebild aus einem PDF-Dokument mit C# gelesen wird.

// Dieses Codebeispiel zeigt, wie Barcodes aus einem PDF gelesen werden
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = @"D:\Files\BarCode\sample_out.pdf";

// Binden Sie das pdf-Dokument
Aspose.Pdf.Facades.PdfExtractor pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor();
pdfExtractor.BindPdf(dataDir);

// Legen Sie den Seitenbereich für die Bildextraktion fest
pdfExtractor.StartPage = 1;
pdfExtractor.EndPage = 1;

// Extrahieren Sie die Bilder
pdfExtractor.ExtractImage();

// Speichern Sie Bilder, um sie in einer Schleife zu streamen
while (pdfExtractor.HasNextImage())
{
  // Bild zum Streamen speichern
  MemoryStream imageStream = new MemoryStream();
  pdfExtractor.GetNextImage(imageStream);
  imageStream.Position = 0;

  // Erkennen Sie den Barcode aus dem obigen Bildstream
  using (BarCodeReader reader = new BarCodeReader(imageStream, DecodeType.Code39Standard))
  {
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
      Console.WriteLine("Codetext found: " + result.CodeText);
      Console.WriteLine("Symbology: " + result.CodeType);
    }
  }
}
Codetext found: 1234567
Symbology: Code39Standard

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die Bibliothek ohne Evaluierungseinschränkungen zu testen.

Fazit

In diesem Artikel haben wir gelernt, wie man:

  • programmgesteuert ein PDF-Dokument erstellen;
  • Generieren Sie ein Barcode-Bild und fügen Sie es dem PDF in C# hinzu;
  • Bilder aus einem PDF-Dokument mit C# extrahieren;
  • Barcode-Bild aus einem PDF-Dokument lesen.

Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.BarCode für die .NET-API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch