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 konieczności ich uprzedniej konwersji na obrazy, wykorzystując metodę ReadPdf do wyodrębniania danych kodów kreskowych z faktur, etykiet wysyłkowych i raportów za pomocą zaledwie jednej linii kodu.

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 IronBarcode ReadPdf, aby odczytać BARCODES 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 biblioteke kodow kreskowych do przetwarzania plików z kodami kreskowymi. Sprawdz nasz przewodnik po pakietach NuGet, aby uzyskać szczegółowe instrukcje instalacji dla konkretnej platformy.
  2. W razie potrzeby utwórz PdfBarcodeReaderOptions.
  3. Użyj metody ReadPdf z BarcodeReader do odczytu BARCODE-ów z plików PDF.
  4. Określ dodatkowe opcje odczytu BARCODE za pomocą BarcodeReaderOption.
  5. Wyodrebnij wartosci kodow kreskowych.

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

IronBarcode odczytuje barcody bezpośrednio z dokumentów PDF bez konieczności konwersji do obrazów. Aby uzyskać pełny przegląd wszystkich funkcji, odwiedz nasza Strone funkcjonalności. Należy użyć metody BarcodeReader.ReadPdf(), która akceptuje następujące typy plików 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 zbiór MemoryStream. Zobacz nasz przewodnik po odczytywaniu kodow kreskowych z strumieni.
  • String: Ścieżka do dokumentu PDF jako ciąg znaków lub nazwa pliku, jeśli został skopiowany do projektu.
  • IEnumerable<String>: Ciągi znaków ścieżki/nazwy dokumentu PDF przechowywane w kolekcji.

Metoda BarcodeReader.ReadPdf() akceptuje również PdfBarcodeReaderOptions w celu uzyskania zaawansowanych możliwości odczytu, omówionych w następnej sekcji. Oto jak używać BarcodeReader.ReadPdf() do odczytu BARCODE-ów 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ż ciąg ścieżki pliku PDF do BarcodeReader.ReadPdf(), aby odczytać wartości BARCODE. Aby uzyskać więcej przykładów dotyczących odczytywania kodow kreskowych z różnych zrodel, zapoznaj sie z naszym samouczkiem dotyczącym odczytywania kodow kreskowych w C# / .NET. Aby wydrukować wszystkie wartości kodów kreskowych znalezione w pliku PDF, należy przejrzeć wyniki za pomocą pętli foreach i wywołać ToString() dla każdego elementu. Przyklad 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 wyodrebnia kody kreskowe z listy plików PDF. Aby poradzic sobie z wieloma kodami kreskowymi w dokumentach, zapoznaj sie z naszym przewodnikiem Odczytywanie wielu kodow 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 danymi wejściowymi. Metoda zwraca tablicę BarcodeResults. Przeprowadz iteracje po wynikach, aby uzyskać dostep do kodow kreskowych z kazdego pliku PDF.

Jak skonfigurować opcje odczytu kodow kreskowych z PDF?

Skonfiguruj odczyt BarCode z plików PDF za pomocą PdfBarcodeReaderOptions. Aby uzyskać szczegółowe wyjasnienia wszystkich ustawien czytnika, odwiedz nasz przykład Ustal opcje czytnika kodow kreskowych z PDF. Dostosowanie tych właściwości poprawia jakosc, dokładność i wydajność. PdfBarcodeReaderOptions dziedziczy wszystkie właściwości BarcodeReaderOptions i dodaje opcje specyficzne dla formatu PDF. Podaj numery stron podczas instancjonowania 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

Zapoznaj się z dodatkowymi właściwościami dostępnymi w PdfBarcodeReaderOptions, wykraczającymi poza te odziedziczone po BarcodeReaderOptions.

Jak ustawienie DPI wpływa na odczyt kodow kreskowych?

Ustaw DPI (Kropki na cal) obrazów kodow kreskowych w dokumentach PDF. To poprawia odczytywanie niskiej jakosci kodow kreskowych. Uzyj wartosci typu Integer. Domyslne DPI wynosi 150. W przypadku mniejszych lub niskiej jakosci kodow kreskowych, zwieksz 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 BarCodes, 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 cała, 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 usprawnić odczytywanie BARCODE-ów z dokumentów PDF. Dla dodatkowych wskazówek dotyczących rozwiązywania problemów, gdy kody kreskowe nie są rozpoznawane, zapoznaj się z naszym przewodnikiem Barcode Not Recognized.

: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 za pomocą nazwy zmiennej, aby uzyskać dostęp do właściwości i je dostosować. 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ść. Zastosuj skonfigurowany PdfBarcodeReaderOptions, przekazując go jako drugi argument do BarcodeReader.ReadPdf(), z ścieżką do pliku PDF jako pierwszym argumentem.

W przypadku przetwarzania plików PDF z niedoskonalymi lub uszkodzonymi kodami kreskowymi, sprawdz nasze funkcje Korekcja obrazów, ktore 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.

Czy IronBarcode oferuje wsparcie dla dostosowywania wyglądu kodów kreskowych?

Tak, IronBarcode oferuje rozległe opcje dostosowywania wyglądu kodów kreskowych, w tym kolory, rozmiar i adnotacje tekstowe, pozwalając dostosować kody kreskowe do konkretnych wymagań projektowych.

Jak IronBarcode może pomóc w poprawie efektywności procesów biznesowych?

IronBarcode zwiększa efektywność procesów biznesowych, umożliwiając szybkie i dokładne generowanie i odczyt kodów kreskowych, redukując błędy ręcznego wprowadzania danych i poprawiając śledzenie zapasów i aktywów.

Jakie umiejętności programistyczne są potrzebne do zaimplementowania IronBarcode w projekcie?

Podstawowa znajomość programowania w C# jest wystarczająca do zaimplementowania IronBarcode w projekcie, ponieważ oferuje on nieskomplikowane metody i kompleksową dokumentację do prowadzenia deweloperów.

Czy IronBarcode jest odpowiedni zarówno dla małych projektów, jak i dużych aplikacji korporacyjnych?

IronBarcode jest zaprojektowany do bycia skalowalnym i wszechstronnym, dzięki czemu jest odpowiedni zarówno dla małych projektów, jak i dużych aplikacji korporacyjnych, które wymagają solidnych rozwiązań kodów kreskowych.

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,240,258 | Wersja: 2026.5 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.