Jak odczytywać BarCodes z plików PDF w języku C#

Jak odczytywać BarCodes z plików PDF w języku C

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

IronBarcode umożliwia bezpośrednie odczytywanie kodów kreskowych z dokumentów PDF bez konwersji na obrazy za pomocą metody ReadPdf, aby w jednym wierszu kodu wyodrębnić dane kodu kreskowego z faktur, etykiet wysyłkowych i raportów.

Odczytywanie barcode'ów z dokumentów PDF oznacza wykrywanie i dekodowanie barcode'ów na stronach PDF. Technologia ta pobiera zakodowane informacje bezpośrednio z dokumentów cyfrowych, eliminując ręczne skanowanie drukowanych BARCODE-ów. Automatyzuje procesy przetwarzania faktur, etykiet wysyłkowych, raportów i innych dokumentów zawierających dane BARCODE.

Szybki start: Odczytywanie BarCodes bezpośrednio z pliku PDF

Użyj metody ReadPdf z IronBarcode do odczytywania kodów kreskowych z plików PDF bez konwersji na obrazy. Wyodrębnij dane z kodów BarCode za pomocą jednej linii kodu, a następnie dodaj zaawansowane opcje w razie potrzeby.

  1. Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode
  2. Skopiuj i uruchom ten fragment kodu.

    var results = IronBarCode.BarcodeReader.ReadPdf("invoice.pdf");
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronBarcode w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer

Jakie są podstawowe kroki odczytu BarCodes w plikach PDF?

  1. Zainstaluj bibliotekę kodów kreskowych do przetwarzania plików z kodami kreskowymi. Sprawdź nasz przewodnik po pakietach NuGet, aby uzyskać szczegółowe instrukcje instalacji dla konkretnej platformy.
  2. Utwórz PdfBarcodeReaderOptions, jeżeli jest to wymagane.
  3. Użyj metody ReadPdf z BarcodeReader do odczytywania kodów kreskowych z plików PDF.
  4. Określ dodatkowe opcje odczytywania kodów kreskowych za pomocą BarcodeReaderOption.
  5. Wyodrębnij wartości kodów kreskowych.

Jak odczytywać kody kreskowe bezpośrednio z dokumentów PDF?

IronBarcode odczytuje kody kreskowe bezpośrednio z dokumentów PDF bez konieczności ich konwersji na obrazy. Aby uzyskać pełny przegląd wszystkich funkcji, odwiedź naszą Stronę funkcjonalności. Użyj metody BarcodeReader.ReadPdf(), która akceptuje następujące typy wejściowe PDF:

  • byte[] array: dokument PDF jako tablica bajtów.
  • IEnumerable<Byte[]>: dokumenty PDF jako tablice bajtów przechowywane w kolekcji.
  • MemoryStream: dokumenty PDF jako typ MemoryStream.
  • IEnumerable<Stream>: dokumenty PDF jako kolekcja MemoryStream. Zobacz nasz przewodnik po odczytywaniu kodów kreskowych ze strumieni.
  • String: ścieżka dokumentu PDF jako ciąg znaków lub nazwa pliku jeśli skopiowano do projektu.
  • IEnumerable<String>: ścieżki/nazwy dokumentów PDF przechowywane w kolekcji.

Metoda BarcodeReader.ReadPdf() przyjmuje również PdfBarcodeReaderOptions dla zaawansowanych możliwości odczytu, omówionych w następnym rozdziale. Oto jak używać BarcodeReader.ReadPdf() do odczytywania kodów kreskowych w dokumentach PDF:

: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.ReadPdfs(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.ReadPdfs(docs) 'can also accept individual PDF document file path as argument

For Each value In myBarcode
	Console.WriteLine(value.ToString())
Next value
$vbLabelText   $csharpLabel

Przekaż ścieżkę pliku PDF jako ciąg znaków do BarcodeReader.ReadPdf(), aby odczytać wartości kodu kreskowego. Aby uzyskać więcej przykładów dotyczących odczytywania kodów kreskowych z różnych źródeł, zapoznaj się z naszym samouczkiem dotyczącym odczytywania kodów kreskowych w C# / .NET. Aby wydrukować wszystkie wartości kodów kreskowych znalezione w pliku PDF, przeprowadź iteracje po wynikach przy użyciu pętli foreach i wywołaj ToString() dla każdego elementu. Przykład ten także demonstruje używanie kolekcji nazw dokumentów PDF jako argumentu metody.

Jak mogę odczytywać wiele plików PDF na raz?

IronBarcode udostępnia metodę ReadPdfs do jednoczesnego przetwarzania wielu plików PDF. Ta metoda skutecznie wyodrębnia kody kreskowe z listy plików PDF. Aby poradzić sobie z wieloma kodami kreskowymi w dokumentach, zapoznaj się z naszym przewodnikiem Odczytywanie wielu kodów kreskowych.

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-pdf-read-from-multiple-pdf.cs
using IronBarCode;
using System;
using System.Collections.Generic;
using System.IO;

// Get all PDF files from a directory and add to list
string folderPath = @"PATH_TO_YOUR_FOLDER";
List<string> docs = new List<string>(Directory.GetFiles(folderPath, "*.pdf"));

// Read barcodes from all PDFs
var docResult = BarcodeReader.ReadPdfs(docs);

// Print results
foreach (var doc in docResult)
{
    foreach (var item in doc)
    {
        Console.WriteLine("Barcode " + item.ToString() + " found at page " + item.PageNumber);
    }
}
Imports IronBarCode
Imports System
Imports System.Collections.Generic
Imports System.IO

' Get all PDF files from a directory and add to list
Dim folderPath As String = "PATH_TO_YOUR_FOLDER"
Dim docs As New List(Of String)(Directory.GetFiles(folderPath, "*.pdf"))

' Read barcodes from all PDFs
Dim docResult = BarcodeReader.ReadPdfs(docs)

' Print results
For Each doc In docResult
    For Each item In doc
        Console.WriteLine("Barcode " & item.ToString() & " found at page " & item.PageNumber)
    Next
Next
$vbLabelText   $csharpLabel

Ten kod pobiera wszystkie pliki PDF z katalogu, dodaje je do List<string> i wywołuje ReadPdfs z listą jako wejście. Metoda zwraca tablicę BarcodeResults. Przeprowadź iteracje po wynikach, aby uzyskać dostęp do kodów kreskowych z każdego pliku PDF.

Jak skonfigurować opcje odczytu kodów kreskowych z PDF?

Skonfiguruj odczyt kodów kreskowych z PDF przy użyciu PdfBarcodeReaderOptions. Aby uzyskać szczegółowe wyjaśnienia wszystkich ustawień czytnika, odwiedź nasz przykład Ustaw opcje czytnika kodów kreskowych z PDF. Dostosowanie tych właściwości poprawia jakość, dokładność i wydajność. PdfBarcodeReaderOptions dziedziczy wszystkie właściwości BarcodeReaderOptions i dodaje opcje specyficzne dla PDF. Określ numery stron przy tworzeniu PdfBarcodeReaderOptions:

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

Zbadaj dodatkowe właściwości dostępne w PdfBarcodeReaderOptions poza tymi, które są dziedziczone z BarcodeReaderOptions.

Jak ustawienie DPI wpływa na odczyt kodów kreskowych?

Ustaw DPI (Kropki na cal) obrazów kodów kreskowych w dokumentach PDF. To poprawia odczytywanie niskiej jakości kodów kreskowych. Użyj wartości typu Integer. Domyślne DPI wynosi 150. W przypadku mniejszych lub niskiej jakości kodów kreskowych, zwiększ do 300 lub 600, aby uzyskać lepsze rozpoznanie. Wyższe wartości DPI zwiększają czas przetwarzania i zużycie pamięci.

Kiedy powinienem określać numery stron?

Określ numery stron zawierających kody kreskowe, aby poprawić wydajność, szczególnie w przypadku wielostronicowych plików PDF. IronBarcode pomija strony bez kodów kreskowych, gdy podasz konkretne numery stron. Numeracja stron zaczyna się od 1 (pierwsza strona to nie 0, a 1). W celu optymalizacji w przypadku dużych dokumentów, zapoznaj się z naszym przewodnikiem Opcje szybkości odczytu.

Jak postępować z plikami PDF chronionymi hasłem?

Pracuj z zaszyfrowanymi plikami PDF, podając hasło jako wejście typu String. IronBarcode nie może odzyskać haseł do plików PDF. Upewnij się, że masz niezbędne uprawnienia i bezpiecznie przechowuj hasła w aplikacji.

Jaki współczynnik skali powinienem użyć dla małych kodów kreskowych?

Kontroluj współczynnik skali dla szerokości i wysokości podczas konwersji na obrazy. Akceptuje wartość typu Integer z domyślną wartością 3.5. Wyższe współczynniki skali pomagają odczytać małe kody kreskowe poprzez powiększenie PDF-a. Dla kodów kreskowych o szerokości poniżej 1 cala, użyj współczynnika skali 5.0 lub wyższego. Wysokie współczynniki skali wpływają na wydajność.

Jak zaimplementować zaawansowane odczytywanie kodów kreskowych z PDF?

Zastosuj właściwości PdfBarcodeReaderOptions w swoim projekcie, aby ulepszyć odczytywanie kodów kreskowych z dokumentów PDF. Aby uzyskać dodatkowe wskazówki dotyczące rozwiązywania problemów, gdy kody kreskowe nie są rozpoznawane, odwołaj się do naszego przewodnika Kod kreskowy nie został rozpoznany.

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

Zainicjuj PdfBarcodeReaderOptions z nazwą zmiennej, aby uzyskać dostęp i dostosować właściwości. Podaj numery stron jako argument podczas inicjalizacji, aby zastosować ustawienia do konkretnych stron. Alternatywnie, ustaw numery stron za pomocą właściwości PageNumbers.

Użyj odziedziczonych właściwości BarcodeReaderOptions, takich jak ExpectMultipleBarcodes i ExpectBarcodeTypes, aby poprawić wydajność i dokładność. Aplikuj skonfigurowane PdfBarcodeReaderOptions, przekazując je jako drugi argument do BarcodeReader.ReadPdf(), ze ścieżką pliku PDF jako pierwszym argumentem.

W przypadku przetwarzania plików PDF z niedoskonałymi lub uszkodzonymi kodami kreskowymi, sprawdź nasze funkcje Korekcja obrazów, które można zastosować podczas przetwarzania PDF.

Często Zadawane Pytania

Jak mogę odczytać kody kreskowe z plików PDF w C#?

IronBarcode zapewnia prostą metodę ReadPdf, która pozwala na odczyt kodów kreskowych bezpośrednio z dokumentów PDF bez konieczności ich konwersji na obrazy. Możesz wyodrębnić dane z kodów kreskowych z plików PDF w zaledwie jednej linii kodu: var results = IronBarCode.BarcodeReader.ReadPdf("invoice.pdf");

Jakie typy wejściowe PDF akceptuje czytnik kodów kreskowych?

Metoda IronBarcode BarcodeReader.ReadPdf() akceptuje wiele typów wejściowych PDF, w tym: tablice bajtów, kolekcje tablic bajtów, obiekty MemoryStream, kolekcje MemoryStream, stringi ścieżek plików oraz kolekcje stringów ścieżek plików. Ta elastyczność pozwala pracować z plikami PDF z różnych źródeł.

Czy muszę konwertować pliki PDF na obrazy przed odczytem kodów kreskowych?

Nie, IronBarcode odczytuje kody kreskowe bezpośrednio z dokumentów PDF bez potrzeby ich konwersji na obrazy. Biblioteka przetwarza pliki PDF w naturalny sposób, co oszczędza czas i zachowuje oryginalną jakość danych z kodów kreskowych.

Jakie są podstawowe kroki do wdrożenia odczytu kodów kreskowych z plików PDF?

Aby odczytać kody kreskowe z plików PDF za pomocą IronBarcode: 1) Zainstaluj bibliotekę kodów kreskowych za pomocą NuGet, 2) Utwórz PdfBarcodeReaderOptions, jeśli są potrzebne zaawansowane ustawienia, 3) Użyj metody ReadPdf z BarcodeReader, 4) Opcjonalnie określ dodatkowe opcje odczytu używając BarcodeReaderOption, i 5) Wyodrębnij wartości kodów kreskowych z wyników.

Czy mogę skonfigurować zaawansowane opcje odczytu dla wyodrębniania kodów kreskowych z plików PDF?

Tak, IronBarcode wspiera zaawansowane możliwości odczytu poprzez PdfBarcodeReaderOptions. Pozwala to na dostosowanie procesu odczytu kodów kreskowych przy użyciu określonych parametrów i opcji w celu optymalizacji wykrywania i dokładności dla Twojego konkretnego przypadku użycia.

Jakie typy dokumentów mogą skorzystać z odczytu kodów kreskowych z plików PDF?

Odczyt kodów kreskowych z plików PDF za pomocą IronBarcode jest idealny do automatyzacji przepływów pracy obejmujących faktury, etykiety wysyłkowe, raporty i inne dokumenty biznesowe zawierające dane z kodów kreskowych. Eliminuje to potrzebę ręcznego skanowania wydrukowanych kodów kreskowych i usprawnia przetwarzanie dokumentów.

Hairil Hasyimi Bin Omar
Inżynier oprogramowania
Jak wszyscy wielcy inżynierowie, Hairil jest zapalonym uczniem. Doskonali swoją wiedzę na temat C#, Pythona i Javy, wykorzystując tę wiedzę, aby dodawać wartości członkom zespołu Iron Software. Hairil dołączył do zespołu Iron Software z Universiti Teknologi MARA w Malezji, gdzie uzyskał tytuł licencjata ...
Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 2,145,441 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package BarCode
uruchom przykład zobacz, jak twoje ciągi zamieniają się w kody kreskowe.