Wie man Barcodes aus PDF-Dokumenten liest
Wie man Barcode aus PDF in C# liest;
Installieren Sie die Barcode-Bibliothek, um Barcode-Dateien zu verarbeiten.
Bei Bedarf
PdfBarcodeReaderOptions
erstellen.Verwenden Sie die Methode
ReadPdf
vonBarcodeReader
, um Barcodes aus PDFs zu lesen.Geben Sie zusätzliche Barcode-Leseoptionen mit
BarcodeReaderOption
an.Barcodewerte extrahieren.
<
Barcodes direkt aus PDF-Dokumenten lesen
Abgesehen von IronBarcodes Fähigkeit, Barcodes aus Bildern zu lesen, ist IronBarcode auch stolz auf seine Fähigkeit, Barcodes aus PDF-Dokumenten zu lesen. Dies erspart den Anwendern die mühsame Konvertierung von PDF-Dokumenten in Bilder, bevor sie diese zum Lesen in IronBarcode einspeisen. Da PDF-Dokumente komplizierter und anders als Bilder sind, sollte auch eine andere Lesemethode verwendet werden, und zwar BarcodeReader.ReadPdf()
method. Diese Methode akzeptiert verschiedene Typen von PDF-Dokumenten, einschließlich :
- byte [] array : PDF-Dokument als Byte-Array.
- IEnumerable
: PDF-Dokumente als Byte-Arrays, die in einer Sammlung gespeichert sind. - MemoryStream : PDF-Dokumente als MemoryStream-Typ.
- IEnumerable
: PDF-Dokumente als Sammlung von MemoryStream - Zeichenfolge : PDF-Dokument-Pfad-String. Wenn das PDF-Dokument bereits in das Projekt kopiert wurde, ist dies der Name des PDF-Dokuments in String.
- IEnumerable
: In einer Sammlung gespeicherte Pfad-/Namensstrings von PDF-Dokumenten.
Abgesehen von den oben erwähnten Arten von Eingaben, BarcodeReader.ReadPdf()
akzeptiert auch PdfBarcodeReaderOptions
für eine fortgeschrittenere/verbesserte Lektüre, die wir im nächsten Unterthema behandeln werden. Das folgende Codeschnipsel veranschaulicht die Verwendung BarcodeReader.ReadPdf()
method to read barcodes in PDF documents.
:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-pdf-1.cs
using IronBarCode;
using System;
using System.Collections.Generic;
List<String> docs = new List<String>();
docs.Add(@"pdf_a.pdf");
docs.Add(@"pdf_b.pdf");
var myBarcode = BarcodeReader.ReadPdf(docs); //can also accept individual PDF document file path as argument
foreach (var value in myBarcode)
{
Console.WriteLine(value.ToString());
}
Imports IronBarCode
Imports System
Imports System.Collections.Generic
Private docs As New List(Of String)()
docs.Add("pdf_a.pdf")
docs.Add("pdf_b.pdf")
Dim myBarcode = BarcodeReader.ReadPdf(docs) 'can also accept individual PDF document file path as argument
For Each value In myBarcode
Console.WriteLine(value.ToString())
Next value
Aus dem obigen Codeschnipsel können wir ersehen, dass wir zum Lesen von Barcodes mit IronBarcode einfach die Dateipfadzeichenkette des PDF-Dokuments in BarcodeReader.ReadPdf()
method to read the barcode value, and store the result in a variable. Wenn Sie die Werte aller im PDF-Dokument gefundenen Barcodes auf der Konsole ausgeben möchten, verwenden Sie einfach foreach
schleife, um jedes in der Variablen gefundene Element zu iterieren und zu drucken, indem Sie ToString()
method on them. Darüber hinaus demonstriert der obige Codeschnipsel auch die Verwendung einer Sammlung von PDF-Dokumentnamen als Argument in BarcodeReader.ReadPdf()
.
Was aber, wenn die Barcodes im PDF-Dokument nicht gelesen werden können? Was ist, wenn die Leistung so langsam ist? Dies ist der Ort, an dem pDF-Strichcode-Lesen im Voraus stattfindet, bei dem wir die PdfBarcodeReaderOptions
zur Verbesserung der Lesequalität, der Genauigkeit und der Leistung.
PDF-Barcode-Reader-Optionen einstellen
Genau wie beim Lesen von Barcodes aus Bildern können die Benutzer auch beim Lesen von Barcodes aus PDF-Dokumenten die Eigenschaften des Barcode-Lesegeräts anpassen, d. h PdfBarcodeReaderOptions
. Anpassen der Eigenschaften in PdfBarcodeReaderOptions
wird beim Lesen sehr hilfreich sein qualität, Genauigkeit und auch Leistung. Alle einstellbaren Eigenschaften in BarcodeReaderOptions
werden vererbt in PdfBarcodeReaderOptions
mit einigen zusätzlichen Eigenschaften für PDF-Dokumente. Für den Anfang können die Benutzer die seitenzahl oder sammlung von Seitenzahlen aus dem PDF-Dokument, in dem sie die PdfBarcodeReaderOptions
anzuwenden, wenn eine neue Instanz von PdfBarcodeReaderOptions
. Der folgende Codeschnipsel veranschaulicht
:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-pdf-2.cs
using IronBarCode;
using System.Collections.Generic;
List<int> pageNumber = new List<int>() { 1, 2, 3 };
PdfBarcodeReaderOptions PdfOptions = new PdfBarcodeReaderOptions(pageNumber) // can also use individual page number as argument
{
// Properties of PDF Barcode reader options
};
Imports IronBarCode
Imports System.Collections.Generic
Private pageNumber As New List(Of Integer)() From {1, 2, 3}
Private PdfOptions As New PdfBarcodeReaderOptions(pageNumber)
Lassen Sie uns nun die zusätzlichen Eigenschaften in PdfBarcodeReaderOptions
zur Manipulation zur Verfügung stehen, abgesehen von denen, die in BarcodeReaderOptions
DPI
Die Benutzer können den DPI-Wert (Dots Per Inch) des Barcode-Bildes in einem PDF-Dokument festlegen. Dies hilft beim Lesen eines Barcode-Bildes von schlechter Qualität in einem PDF-Dokument. Diese Eigenschaft kann mit Integer wert.
Seitennummern
Wenn die Benutzer die Seitenzahl, die den Barcode enthält, der in einem PDF-Dokument gelesen werden muss, im Voraus kennen, können sie sie in dieser Eigenschaft angeben. Dadurch wird die Leseleistung von IronBarcode erheblich verbessert, insbesondere bei PDF-Dokumenten mit vielen Seiten, da IronBarcode nicht alle Seiten oder Seiten, die keine Barcodes enthalten, lesen muss. Diese Eigenschaft ist 1-basiert, d.h. die erste Seite des PDF-Dokuments ist 1 statt 0.
Passwort
Wie der Name schon sagt, ermöglicht diese Eigenschaft die Arbeit mit verschlüsselten PDF-Dateien, die eine Passworteingabe erfordern, um auf den Inhalt des PDF-Dokuments zuzugreifen. Bitte beachten Sie jedoch, dass IronBarcode nicht in der Lage ist, das Passwort für PDF-Dokumente zu vergeben. Diese Eigenschaft akzeptiert Zeichenfolge eingang.
Skala
Mit dieser Eigenschaft können die Benutzer die skalenfaktor für die Skalierung von Breite und Höhe bei der Konvertierung in Bild. Diese Eigenschaft akzeptiert Integer als Wert und der Standardwert für diese Eigenschaft ist 3,5. Die Einstellung dieser Eigenschaft hilft beim Lesen kleiner Barcodes in einem PDF-Dokument, da das PDF-Dokument beim Vergrößern vergrößert wird.
Erweitertes Lesen von Barcodes aus PDF-Dokumenten
Da wir nun die Eigenschaften in PdfBarcodeReaderOptions
die für Anpassungen und Optimierungen zur Verfügung stehen, sehen wir uns an, wie man sie im Projekt zum Lesen von Strichcodes in PDF-Dokumenten anwendet.
:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-pdf-3.cs
using IronBarCode;
using System;
using System.Collections.Generic;
List<int> pageNumber = new List<int>() { 1, 2, 3 };
PdfBarcodeReaderOptions PdfOptions = new PdfBarcodeReaderOptions(pageNumber)
{
DPI = 150,
//PageNumbers = pageNumber, //this property is not needed if page numbers has been specified as the argument in PdfBarcodeReaderOptions
Password = "barcode",
Scale = 3.5,
//properties below are some of the properties inherited from BarcodeReaderOptions
Speed = ReadingSpeed.Detailed,
ExpectBarcodeTypes = BarcodeEncoding.Code93,
ExpectMultipleBarcodes = true
};
var myBarcode = BarcodeReader.ReadPdf(@"pdf_a_filepath.pdf", PdfOptions);
foreach (var value in myBarcode)
{
Console.WriteLine(value.ToString());
}
Imports IronBarCode
Imports System
Imports System.Collections.Generic
Private pageNumber As New List(Of Integer)() From {1, 2, 3}
Private PdfOptions As New PdfBarcodeReaderOptions(pageNumber) With {
.DPI = 150,
.Password = "barcode",
.Scale = 3.5,
.Speed = ReadingSpeed.Detailed,
.ExpectBarcodeTypes = BarcodeEncoding.Code93,
.ExpectMultipleBarcodes = True
}
Private myBarcode = BarcodeReader.ReadPdf("pdf_a_filepath.pdf", PdfOptions)
For Each value In myBarcode
Console.WriteLine(value.ToString())
Next value
Der obige Codeschnipsel zeigt, wie man die PdfBarcodeReaderOptions
eigenschaften in IronBarcode. Die PdfBarcodeReaderOptions
muss zunächst mit einem Variablennamen initialisiert werden, bevor auf die Eigenschaften zugegriffen und diese angepasst werden können. Im Codeschnipsel können wir auch sehen, dass die Liste der Seitenzahlen des PDF-Dokuments als Argument beim Initialisieren verwendet wurde PdfBarcodeReaderOptions
. Hier wird die Seitenzahl angegeben, die wir für die Einstellungen von PdfBarcodeReader
zu bewerben. Die Benutzer können die PDF-Seitenzahl auch im Feld PdfBarcodeReaderOptions
eigenschaft als Seitennummern
.
Auf der anderen Seite können wir auch sehen, dass wir Eigenschaften von verwenden können. BarcodeReaderOptions
wie zum Beispiel ExpectMultipleBarcodes
und ExpectBarcodeTypes
in PdfBarcodeReaderOptions
da sie von der ursprünglichen Klasse geerbt werden. Dies wird die allgemeine Leseleistung und -genauigkeit erheblich verbessern. Zur Anwendung der eingestellten Eigenschaften von PdfBarcodeReaderOptions
im Barcode-Lesevorgang den Variablennamen des PdfBarcodeReaderOptions
klasse, die wir als zweites Argument in BarcodeReader.ReadPdf()
method, with PDF document to be read file path as the first argument.