
Przetwarzanie faktur za pomocą OCR w C# (Samouczek dla deweloperów)
Przetwarzanie danych faktur odnosi się do przyjmowania, zarządzania i weryfikacji faktur od dostawców lub sprzedawców oraz zapewnienia, że płatności są dokonywane prawidłowo i terminowo. Obejmuje to kroki mające na celu zapewnienie dokładności, zgodności i wydajności w obsłudze transakcji biznesowych w celu uniknięcia faktur papierowych. Zautomatyzowane przetwarzanie faktur może znacznie ograniczyć błędy związane z ręcznym wprowadzaniem danych i zwiększyć wydajność. IronOCR to potężna biblioteka oprogramowania do optycznego rozpoznawania znaków (OCR), którą można wykorzystać do wyodrębniania danych lub tekstu z faktur z plików cyfrowych, co czyni ją doskonałym narzędziem do automatyzacji przetwarzania faktur metodą OCR w aplikacjach napisanych w języku C#.
Jak przetwarzać dane z faktur za pomocą oprogramowania OCR, takiego jak IronOCR
- Utwórz projekt w Visual Studio.
- Zainstaluj bibliotekę IronOCR C#.
- Przykładowy obraz faktury.
- Wykorzystaj Tesseract i wyodrębnij dane z obrazu paragonu.
- Odczyt tylko określonego obszaru obrazu.
Optyczne rozpoznawanie znaków (OCR)
Optyczne rozpoznawanie znaków to technologia, która umożliwia rozpoznawanie i konwersję różnych typów dokumentów, plików PDF lub obrazów tekstu na dane, które można edytować i przeszukiwać. Technologia OCR przetwarza obrazy tekstu i wyodrębnia znaki, czyniąc je czytelnymi dla komputera. Zaawansowane systemy oprogramowania do rozpoznawania faktur OCR pomagają w zarządzaniu finansami i automatyzacji fakturowania.
Kluczowe informacje o OCR
- Funkcjonalność: Oprogramowanie OCR skanuje obrazy lub tekst (np. zdjęcia lub zeskanowane dokumenty) i przekształca znaki w tekst cyfrowy, który można edytować, przeszukiwać i przechowywać.
- Zastosowania: OCR jest szeroko stosowany w różnych branżach do zadań takich jak digitalizacja dokumentów drukowanych, przetwarzanie faktur, pozyskiwanie danych z formularzy, automatyczne rozpoznawanie tablic rejestracyjnych (ANPR), obsługa przepływu pracy w zakresie zobowiązań oraz skanowanie książek.
- Technologia: OCR wykorzystuje algorytmy do identyfikacji wzorów jasnych i ciemnych w celu interpretacji znaków. Nowoczesne systemy OCR wykorzystują również uczenie maszynowe i sztuczną inteligencję w celu poprawy dokładności.
- Zalety: OCR zwiększa wydajność poprzez automatyzację wprowadzania danych, zmniejszenie liczby błędów oraz ułatwienie wyszukiwania i pobierania danych. Obsługuje również archiwizację dokumentów i pomaga firmom zarządzać bezpapierowymi procesami.
Technologia OCR znacznie się rozwinęła, dzięki czemu jest bardzo dokładna i przydatna do przetwarzania dokumentów oraz wyodrębniania danych z faktur w wielu różnych formatach, co pozwala ograniczyć ręczne wprowadzanie danych, wyeliminować ręczne przetwarzanie faktur i zwiększyć bezpieczeństwo danych.
IronOCR
Biblioteka IronOCR to potężna biblioteka optycznego rozpoznawania znaków (OCR) dla platformy .NET (C#), która pozwala programistom na wyodrębnianie tekstu z obrazów, plików PDF i innych formatów dokumentów, tworzenie oprogramowania do rozpoznawania faktur oraz wdrażanie procesów związanych z rozliczaniem zobowiązań. Zapewnia łatwy w użyciu interfejs API do integracji funkcji OCR z systemem obsługi zobowiązań lub systemem księgowym.
Najważniejsze cechy IronOCR
- Wyodrębnianie tekstu: Umożliwia wyodrębnianie tekstu z różnych formatów obrazów (PNG, JPG, TIFF itp.) oraz plików PDF, w tym wielostronicowych plików PDF przeznaczonych dla oprogramowania księgowego.
- Dokładność: IronOCR wykorzystuje zaawansowane algorytmy i techniki uczenia maszynowego, aby zapewnić wysoką dokładność rozpoznawania tekstu, nawet w przypadku zaszumionych lub niskiej jakości obrazów, w procesach rozliczeń zobowiązań i rabatów za wcześniejsze płatności.
- Obsługa języków: Biblioteka obsługuje wiele języków, w tym angielski, hiszpański, francuski i inne, co pomaga w rozpoznawaniu tekstu w różnych językach.
- Łatwość użytkowania: IronOCR oferuje proste API, które pozwala programistom na szybką integrację funkcji OCR z ich aplikacjami bez konieczności posiadania dogłębnej wiedzy technicznej na temat technik OCR.
- Rozpoznawanie kodów kreskowych i kodów QR: Oprócz standardowego rozpoznawania tekstu, IronOCR może również wykrywać i wyodrębniać kody kreskowe oraz kody QR z obrazów.
- Obsługa plików PDF: Potrafi odczytywać i wyodrębniać tekst ze zeskanowanych plików PDF, co sprawia, że jest przydatny do przetwarzania faktur, paragonów i innych dokumentów biznesowych.
- Dostosowywanie: Biblioteka umożliwia dostosowanie ustawień OCR do konkretnych potrzeb, takich jak regulacja dokładności lub obsługa różnych rozdzielczości obrazów.
Wymagania wstępne
Zanim zaczniesz, upewnij się, że masz:
- Visual Studio jest zainstalowane na Twoim komputerze.
- Podstawowa znajomość programowania w języku C#.
- Pakiet IronOCR NuGet zainstalowany w projekcie.
Krok 1: Utwórz projekt w Visual Studio
Otwórz program Visual Studio i kliknij opcję Utwórz nowy projekt.

W opcjach wybierz Console App.

Podaj nazwę projektu i ścieżkę.

Wybierz typ Wersji .NET.

Krok 2: Zainstaluj bibliotekę IronOCR dla C#
W projekcie w Visual Studio przejdź do menu Narzędzia > Menedżer pakietów NuGet > Zarządzaj pakietami NuGet dla rozwiązania. Kliknij kartę Przeglądaj i wyszukaj IronOCR. Wybierz IronOCR i kliknij Zainstaluj.

Inną opcją jest użycie konsoli i poniższego polecenia.
Krok 3: Przykładowy obraz faktury wejściowej
Przykładowy obraz faktury cyfrowej z numerem faktury.

Krok 4: Wykorzystaj Tesseract i wyodrębnij dane z obrazu paragonu
Teraz użyj poniższego kodu, aby wyodrębnić dane z faktury do przetwarzania faktur metodą OCR.
using IronOcr;
// Set the license key
License.LicenseKey = "Your License";
string filePath = "sample1.jpg"; // Path to the invoice image
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image for OCR
using (var ocrInput = new OcrInput())
{
ocrInput.LoadImage(filePath);
// Optionally apply filters if needed
ocrInput.Deskew();
// ocrInput.DeNoise();
// Perform OCR to extract text
var ocrResult = ocr.Read(ocrInput);
// Output the extracted text
Console.WriteLine("Extracted Text:");
Console.WriteLine(ocrResult.Text);
// Next steps would involve processing the extracted text
}Imports IronOcr
' Set the license key
License.LicenseKey = "Your License"
Dim filePath As String = "sample1.jpg" ' Path to the invoice image
' Create an instance of IronTesseract
Dim ocr As New IronTesseract()
' Load the image for OCR
Using ocrInput As New OcrInput()
ocrInput.LoadImage(filePath)
' Optionally apply filters if needed
ocrInput.Deskew()
' ocrInput.DeNoise()
' Perform OCR to extract text
Dim ocrResult = ocr.Read(ocrInput)
' Output the extracted text
Console.WriteLine("Extracted Text:")
Console.WriteLine(ocrResult.Text)
' Next steps would involve processing the extracted text
End UsingWyjaśnienie kodu
Podany kod pokazuje, jak używać biblioteki IronOCR w języku C# do wyodrębniania tekstu z obrazu (np. faktury) przy użyciu OCR (optycznego rozpoznawania znaków). Oto wyjaśnienie poszczególnych części kodu:
-
Konfiguracja klucza licencyjnego:
- Kod rozpoczyna się od ustawienia klucza licencyjnego dla IronOCR. Ten klucz jest wymagany do korzystania z pełnej funkcjonalności biblioteki. Jeśli posiadasz ważną licencję, zastąp "Twoja licencja" swoim rzeczywistym kluczem licencyjnym.
-
Określenie pliku wejściowego:
- Zmienna
filePathprzechowuje lokalizację obrazu zawierającego fakturę (w tym przypadku "sample1.jpg"). Oto plik, który zostanie przetworzony w celu wyodrębnienia tekstu.
- Zmienna
-
Tworzenie instancji OCR:
- Tworzona jest instancja
IronTesseract.IronTesseractto klasa odpowiedzialna za przeprowadzenie operacji OCR na danych wejściowych.
- Tworzona jest instancja
-
Ładowanie obrazu:
- Kod tworzy obiekt
OcrInput, który ładuje obraz określony przezfilePathprzy użyciu metodyLoadImage.
- Kod tworzy obiekt
-
Stosowanie filtrów obrazu:
- Kod opcjonalnie stosuje filtry, takie jak
Deskew(), w celu poprawienia zniekształconych obrazów i zwiększenia dokładności OCR.
- Kod opcjonalnie stosuje filtry, takie jak
-
Wykonywanie OCR:
- Metoda
ocr.Read()wyodrębnia tekst z załadowanego obrazu, zwracającOcrResultzawierający wyodrębniony tekst.
- Metoda
-
Wyświetlanie wyodrębnionego tekstu:
- Wyodrębniony tekst jest drukowany w konsoli. Ten tekst został rozpoznany przez IronOCR na podstawie obrazu i może być wykorzystany do dalszego przetwarzania.
Wynik

Krok 5: Odczyt tylko określonego obszaru obrazu
Aby zwiększyć wydajność, do ekstrakcji można przetwarzać tylko część obrazu.
using IronOcr;
using IronSoftware.Drawing;
// Set the license key
License.LicenseKey = "Your Key";
string filePath = "sample1.jpg"; // Path to the invoice image
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image for OCR
using (var ocrInput = new OcrInput())
{
// Define the region of interest
var ContentArea = new Rectangle(x: 0, y: 0, width: 1000, height: 250);
ocrInput.LoadImage(filePath, ContentArea);
// Optionally apply filters if needed
ocrInput.Deskew();
// ocrInput.DeNoise();
// Perform OCR to extract text
var ocrResult = ocr.Read(ocrInput);
// Output the extracted text
Console.WriteLine("Extracted Text:");
Console.WriteLine(ocrResult.Text);
}Imports IronOcr
Imports IronSoftware.Drawing
' Set the license key
License.LicenseKey = "Your Key"
Dim filePath As String = "sample1.jpg" ' Path to the invoice image
' Create an instance of IronTesseract
Dim ocr As New IronTesseract()
' Load the image for OCR
Using ocrInput As New OcrInput()
' Define the region of interest
Dim ContentArea As New Rectangle(x:=0, y:=0, width:=1000, height:=250)
ocrInput.LoadImage(filePath, ContentArea)
' Optionally apply filters if needed
ocrInput.Deskew()
' ocrInput.DeNoise()
' Perform OCR to extract text
Dim ocrResult = ocr.Read(ocrInput)
' Output the extracted text
Console.WriteLine("Extracted Text:")
Console.WriteLine(ocrResult.Text)
End UsingWyjaśnienie kodu
Ten kod wyodrębnia tekst z określonego obszaru obrazu przy użyciu IronOCR, z opcjami filtrów obrazu zwiększających dokładność. Oto szczegółowy opis każdej części:
-
Konfiguracja licencji:
- Ustawia klucz licencyjny dla IronOCR, który jest niezbędny do korzystania z funkcji OCR biblioteki IronOCR. Zastąp "Your Key" swoim ważnym kluczem licencyjnym.
-
Określanie ścieżki do pliku obrazu:
- Określa ścieżkę do obrazu faktury, która ma zostać przetworzona i zawiera treść do wyodrębnienia tekstu.
-
Tworzenie instancji OCR:
- Tworzona jest instancja
IronTesseractdo wykonania operacji OCR.
- Tworzona jest instancja
-
Określenie obszaru do przetworzenia:
- Określa obszar prostokątny w obrębie obrazu (zaczynający się w lewym górnym rogu), aby skoncentrować proces OCR na odpowiedniej sekcji, poprawiając wydajność.
-
Ładowanie obrazu:
- Ładuje określony obszar treści obrazu z pliku. Ogranicza to przetwarzanie OCR do konkretnej części obrazu.
-
Stosowanie filtrów:
- Stosuje filtry, takie jak
Deskew(), aby poprawić wyrównanie obrazu i ewentualnieDeNoise(), aby oczyścić obraz, poprawiając dokładność OCR.
- Stosuje filtry, takie jak
-
Wyodrębnianie tekstu:
- Odczytuje tekst z zdefiniowanego obszaru i zapisuje go w
OcrResult.
- Odczytuje tekst z zdefiniowanego obszaru i zapisuje go w
-
Wyświetl wyodrębniony tekst:
- Wyświetla tekst przetworzony przez OCR w konsoli do dalszego wykorzystania.
Wynik

Licencja (dostępna wersja próbna)
IronOCR wymaga klucza do wyodrębniania danych z faktur. Pobierz klucz próbny dla programistów ze strony licencyjnej.
using IronOcr;
License.LicenseKey = "Your Key";Imports IronOcr
License.LicenseKey = "Your Key"Wnioski
W tym artykułe przedstawiono podstawowy przykład tego, jak rozpocząć pracę z IronOCR w zakresie przetwarzania faktur. Możesz dalej dostosowywać i rozszerzać ten kod, aby dopasować go do swoich konkretnych wymagań.
IronOCR zapewnia wydajne i łatwe do zintegrowania rozwiązanie do wyodrębniania tekstu z obrazów i plików PDF, dzięki czemu idealnie nadaje się do przetwarzania faktur. Korzystając z IronOCR w połączeniu z manipulacją ciągami znaków w języku C# lub wyrażeniami regularnymi, można szybko przetwarzać i wyodrębniać ważne dane z faktur.
Jest to podstawowy przykład przetwarzania faktur, a dzięki bardziej zaawansowanym konfiguracjom (takim jak rozpoznawanie języka, przetwarzanie wielostronicowych plików PDF itp.) można precyzyjnie dostosować wyniki OCR, aby poprawić dokładność w konkretnym przypadku użycia.
API IronOCR jest elastyczne i może być wykorzystywane do szerokiego zakresu zadań OCR wykraczających poza przetwarzanie faktur, w tym skanowanie paragonów, konwersję dokumentów i automatyzację wprowadzania danych.

Powiązane artykuły

