Jak stworzyć skaner paragonów z funkcją OCR w języku C#
Ten samouczek został zaprojektowany, aby pomóc początkującym stworzyć skaner paragonów OCR, używając IronOCR, API OCR w C#. Do końca tego przewodnika zrozumiesz, jak zaimplementować optyczne rozpoznawanie znaków (OCR), aby przekonwertować różne typy plików paragonów na dane edytowalne i przeszukiwalne, używając API OCR paragonu. Ta technologia może być rewolucyjna dla firm dążących do zautomatyzowania zarządzania wydatkami i zminimalizowania ręcznego wprowadzania danych. Zaczynamy!
How To Create an OCR Receipt Scanner In C
- Utwórz projekt konsoli C# w Visual Studio.
- Zainstaluj bibliotekę OCR, korzystając z Menedżera Pakietów NuGet.
- Zaladuj rachunek do programu, uzywajac metody
OcrInput. - Wyodrebnij tekst, korzystajac z metody
Read. - Wyświetl wyodrębniony tekst na konsoli.
Wymagania wstępne
Zanim przejdziemy do części związanej z kodowaniem, upewnij się, że masz następujące:
- Visual Studio: Będzie to nasze zintegrowane środowisko rozwoju (IDE), w którym będziemy pisać i uruchamiać nasz kod C#.
- Biblioteka IronOCR: Użyjemy IronOCR, zaawansowanej biblioteki OCR, którą można łatwo zintegrować z aplikacjami C#.
- Przykładowy paragon: Plik obrazu paragonu o nazwie Sample_Receipt.jpg, który wykorzystamy do przetestowania naszej implementacji OCR.

Krok 1: Konfiguracja projektu
Otwórz Visual Studio: Znajdź ikonę Visual Studio na pulpicie lub w menu aplikacji i kliknij dwukrotnie, aby otworzyć program.
Stwórz nowy projekt: Gdy Visual Studio jest otwarte, znajdziesz okno uruchamiania. Kliknij przycisk "Stwórz nowy projekt". Jeśli już otworzyłeś Visual Studio i nie widzisz okna uruchamiania, możesz uzyskać do niego dostęp, klikając Plik > Nowy > Projekt z menu górnego.
Wybierz typ projektu: W oknie "Stwórz nowy projekt" zobaczysz różne szablony projektów. W polu wyszukiwania wpisz "Aplikacja konsolowa", aby przefiltrować opcje, a następnie wybierz Aplikację konsolową (.NET Core) lub Aplikację konsolową (.NET Framework), w zależności od swoich preferencji i zgodności. Następnie kliknij przycisk Dalej.
Skonfiguruj nowy projekt: Teraz zobaczysz ekran zatytułowany "Skonfiguruj nowy projekt".
- W polu nazwa projektu wpisz
OCRReceiptScannerjako nazwe swojego projektu. - Wybierz lub potwierdź lokalizację, w której projekt zostanie zapisany w polu Lokalizacja.
- Opcjonalnie, możesz również określić nazwę rozwiązania, jeśli chcesz, aby różniła się od nazwy projektu.
- Kliknij przycisk Dalej po wypełnieniu tych szczegółów.
Dodatkowe informacje: Możesz zostać poproszony o wybranie docelowej wersji .NET Framework. Wybierz najnowszą wersję (chyba że masz specyficzne wymagania dotyczące zgodności) i kliknij Utwórz.
Krok 2: Integracja IronOCR
Zanim będziemy mogli użyć biblioteki IronOCR, musimy ją uwzględnić w naszym projekcie. Postępuj zgodnie z poniższymi wskazówkami:
- Kliknij prawym przyciskiem na swoim projekcie w Eksploratorze rozwiązań.
- Wybierz "Zarządzaj pakietami NuGet".
- W oknie Menedżera Pakietów NuGet zobaczysz kilka kart, takich jak Przeglądaj, Zainstalowane, Aktualizacje i Konsoliduj. Kliknij na kartę Przeglądaj.
- W polu wyszukiwania wpisz IronOCR. To jest nazwa biblioteki, którą chcemy dodać do naszego projektu. Naciśnij enter, aby wyszukać.
- Wyniki wyszukiwania pokażą pakiet biblioteki IronOCR. Powinien być jednym z pierwszych wyników, które zobaczysz. Kliknij, aby zaznaczyć.
-
Po wybraniu pakietu IronOCR, zauważysz panel po prawej stronie wyświetlający informacje o pakiecie, w tym jego opis i wersję. W tym panelu znajduje się również przycisk Zainstaluj.

- Kliknij przycisk Zainstaluj. Ta akcja może wyświetlić monit o przejrzenie zmian i może pokazać listę zależności, które zostaną dołączone wraz z IronOCR. Przejrzyj zmiany i zależności, a jeśli wszystko wygląda poprawnie, zatwierdź i kontynuuj instalację.
Krok 3: Konfiguracja Projektu
Po zainstalowaniu IronOCR, kolejnym krokiem jest skonfigurowanie projektu. Oto jak to zrobić:
Dodaj nazw przestrzeni: Na szczycie pliku Program.cs dodaj nastepujace przestrzenie nazw:
using IronOcr;
using System;
using IronOcr;
using System;
Imports IronOcr
Imports System
Ustawienia Konfiguracji: Jeśli masz jakieś ustawienia konfiguracji, takie jak klucz API lub klucz licencyjny, upewnij się, że je uwzględniasz. Dla IronOCR, będziesz musiał ustawić klucz licencyjny, jak pokazano w dostarczonym kodzie:
License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.LicenseKey = "License-Key" ' replace 'License-Key' with your key
Krok 4: Odczytanie Paragonu
Teraz napiszmy kod do odczytu paragonu.
Zdefiniuj Ścieżkę do Twojego Paragonu: Określ ścieżkę do pliku paragonu, który chcesz zeskanować.
string pdfFilePath = "Sample_Receipt.jpg";
string pdfFilePath = "Sample_Receipt.jpg";
Dim pdfFilePath As String = "Sample_Receipt.jpg"
Blok Try-Catch: Wdraż obsługę błędów, korzystając z bloku try-catch. Pomoże to zarządzać wszelkimi wyjątki, które wystąpią podczas procesu OCR.
try
{
// OCR code will go here
}
catch (Exception ex)
{
// Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}");
}
try
{
// OCR code will go here
}
catch (Exception ex)
{
// Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}");
}
Try
' OCR code will go here
Catch ex As Exception
' Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}")
End Try
Krok 5: Implementacja OCR
W Kroku 5 zagłębiamy się w podstawową funkcjonalność naszej aplikacji: implementację OCR do odczytu i interpretacji danych z naszego paragonu. Wymaga to zainicjowania silnika OCR, skonfigurowania wejścia, przeprowadzenia operacji OCR oraz wyświetlenia wyników.
Zainicjuj IronTesseract
Pierwsza czesc kodu tworzy instancje klasy IronTesseract:
var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
Tworzac instancje IronTesseract, w istocie przygotowujemy nasze narzedzie OCR, ustawiajac je do wykonywania zadan rozpoznawania tekstu. To jak uruchomienie silnika samochodu, zanim można go prowadzić. Ten obiekt będzie używany do kontrolowania procesu OCR, w tym odczytywania wejścia i wyodrębniania z niego tekstu.
Skonfiguruj Wejście OCR
Następnie definiujemy wejście dla naszego procesu OCR:
using (var input = new OcrInput(pdfFilePath))
{
// OCR processing will go here
}
using (var input = new OcrInput(pdfFilePath))
{
// OCR processing will go here
}
Using input = New OcrInput(pdfFilePath)
' OCR processing will go here
End Using
W tym segmencie OcrInput jest uzywany do okreslenia pliku, ktory chcemy przetworzyc. pdfFilePath to zmienna, ktora zawiera sciezke do naszego pliku z rachunkiem. Przekazujac te zmienna do OcrInput, informujemy silnik OCR: "Oto plik, ktory chce, abys przeczytal." Instrukcja using to specjalna konstrukcja C#, ktora zapewnia, ze zasoby uzywane przez OcrInput (jak uchwyty plikow) zostana prawidlowo zwolnione po zakonczeniu przetwarzania. To sposób na efektywne zarządzanie zasobami i zapewnienie, że aplikacja działa płynnie bez zbędnego użycia pamięci.
Wykonaj OCR
W bloku using wywolujemy metode Read na naszej instancji ocr:
var result = ocr.Read(input);
var result = ocr.Read(input);
Dim result = ocr.Read(input)
Metoda Read przyjmie sciezke do pliku wejsciowego jako parametr. Ta linia rozpocznie skanowanie paragonu. Wykona OCR na podanym pliku wejsciowym, wyodrebni dane i zapisze je w zmiennej result. Możemy używać wyodrębnionego tekstu z tej metody do wykonywania dowolnych operacji tekstowych.
Wyświetl Wyniki
Na koniec wyświetlamy tekst rozpoznany przez proces OCR:
Console.WriteLine(result.Text);
Console.WriteLine(result.Text);
Console.WriteLine(result.Text)
Zmienna result zawiera wynik procesu OCR, a result.Text zawiera faktycznie wyodrebniony tekst z rachunku. Funkcja Console.WriteLine nastepnie pobiera ten tekst i wyswietla go na konsoli. Pozwala to na zobaczenie i zweryfikowanie wyników procesu OCR. Oto kompletny kod pliku Program.cs:
using IronOcr;
using System;
class Program
{
static void Main(string[] args)
{
// Set your IronOCR license key
License.LicenseKey = "Your-License-Key";
// Define the path to the receipt image
string pdfFilePath = "Sample_Receipt.jpg";
try
{
// Initialize the OCR engine
var ocr = new IronTesseract();
// Define the input file
using (var input = new OcrInput(pdfFilePath))
{
// Perform OCR and get the result
var result = ocr.Read(input);
// Display the extracted text
Console.WriteLine(result.Text);
}
}
catch (Exception ex)
{
// Handle exceptions and log them if necessary
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
}
using IronOcr;
using System;
class Program
{
static void Main(string[] args)
{
// Set your IronOCR license key
License.LicenseKey = "Your-License-Key";
// Define the path to the receipt image
string pdfFilePath = "Sample_Receipt.jpg";
try
{
// Initialize the OCR engine
var ocr = new IronTesseract();
// Define the input file
using (var input = new OcrInput(pdfFilePath))
{
// Perform OCR and get the result
var result = ocr.Read(input);
// Display the extracted text
Console.WriteLine(result.Text);
}
}
catch (Exception ex)
{
// Handle exceptions and log them if necessary
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
}
Imports IronOcr
Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Set your IronOCR license key
License.LicenseKey = "Your-License-Key"
' Define the path to the receipt image
Dim pdfFilePath As String = "Sample_Receipt.jpg"
Try
' Initialize the OCR engine
Dim ocr = New IronTesseract()
' Define the input file
Using input = New OcrInput(pdfFilePath)
' Perform OCR and get the result
Dim result = ocr.Read(input)
' Display the extracted text
Console.WriteLine(result.Text)
End Using
Catch ex As Exception
' Handle exceptions and log them if necessary
Console.WriteLine($"An error occurred: {ex.Message}")
End Try
End Sub
End Class
Krok 6: Uruchomienie Twojej Aplikacji
- Zbuduj Projekt: Kliknij menu 'Buduj', a następnie wybierz 'Zbuduj rozwiązanie'.
- Uruchom Projekt: Naciśnij F5 lub kliknij przycisk 'Uruchom', aby uruchomić swoją aplikację.
Teraz zobaczysz na konsoli tekst wyodrębniony z paragonu. Ten tekst reprezentuje dane wyodrębnione z obrazu paragonu. Oto jak skanujemy paragony, używając IronOCR. To prosty przykład wykorzystania możliwości OCR do wyodrębniania danych z papierowych paragonów. To bardzo ogólna implementacja. Możesz zmodyfikować swój kod, aby pasował do układu obrazów paragonów.

Po tym, jak możemy wykorzystać nieustrukturyzowane dane z paragonów, które uzyskaliśmy po zeskanowaniu paragonów. Możemy uzyskać ważne informacje z konkretnej sekcji paragonu. Albo możemy pokazać dane paragonu w bardziej zorganizowany sposób. Możemy stworzyć aplikację do skanowania paragonów OCR, używając IronOCR. To pomoże nam w precyzyjnym wyodrębnieniu danych z pól paragonów.
Wnioski
Gratulacje! Z powodzeniem zbudowałeś skaner paragonów OCR, używając C# i IronOCR. Ten skaner może znacznie zwiększyć dokładność wyodrębniania danych dla różnych potrzeb biznesowych, takich jak śledzenie wydatków, zarządzanie łańcuchem dostaw i więcej. Nie będzie już potrzeby przeglądania zeskanowanych paragonów i ręcznego wyodrębniania danych.
IronOCR oferuje bezplatna wersje probna, pozwalajaca uzytkownikom na eksploracje i ocene jego mozliwosci bez poczatkowych kosztow. Dla tych, ktorzy chca zintegrowac i wykorzystac pelne spektrum funkcji w profesjonalnym srodowisku, licencje zaczynaja sie od $999, zapewniajac kompleksowe rozwiazanie dla solidnego skanowania rachunkow OCR i potrzeb wyodrebniania danych.
Pamiętaj, że to dopiero początek. Możesz rozszerzyć tę aplikację, aby obsługiwała różne typy plików, poprawić prywatność danych lub dodać dodatkowe funkcje, takie jak rozpoznawanie paragonów dla konkretnych pól, takich jak kwota podatku, data, pozycje i więcej. Dzięki technologii OCR możliwości są ogromne, torując drogę do bardziej wydajnych i inteligentnych procesów biznesowych. Miłego kodowania!
Często Zadawane Pytania
Czym jest skaner paragonów OCR i jakie korzyści może przynieść firmom?
Skaner paragonów OCR to narzędzie wykorzystujące technologię optycznego rozpoznawania znaków (OCR) do konwersji obrazów paragonów na dane, które można edytować i przeszukiwać. Może to znacznie usprawnić procesy biznesowe poprzez automatyzację zadań związanych z wprowadzaniem danych, zwłaszcza w takich obszarach jak zarządzanie wydatkami.
Jak stworzyć skaner paragonów z funkcją OCR w języku C#?
Aby stworzyć skaner paragonów OCR w języku C#, można skorzystać z biblioteki IronOCR. Należy rozpocząć od skonfigurowania projektu konsoli C# w programie Visual Studio, zainstalować bibliotekę IronOCR za pomocą menedżera pakietów NuGet, a następnie postępować zgodnie z samouczkiem, aby zaimplementować funkcję OCR w plikach paragonów.
Jakie są wymagania wstępne dotyczące konfiguracji skanera paragonów OCR w języku C#?
Wymagania wstępne obejmują zainstalowane środowisko Visual Studio, bibliotekę IronOCR oraz przykładowy plik obrazu paragonu do przetestowania procesu OCR.
Jak zainstalować bibliotekę IronOCR w moim projekcie C#?
Bibliotekę IronOCR można zainstalować za pomocą menedżera pakietów NuGet w Visual Studio. Wystarczy wyszukać IronOCR i dodać ją do projektu, aby uzyskać dostęp do funkcji OCR.
Jak działa klasa IronTesseract w OCR?
Klasa IronTesseract służy do inicjalizacji silnika OCR w bibliotece IronOCR, umożliwiając wykonywanie zadań rozpoznawania tekstu na obrazach paragonów.
Jak radzić sobie z błędami podczas procesu OCR w języku C#?
Błędy występujące podczas procesu OCR można obsłużyć za pomocą bloku try-catch w kodzie C#. Pomoże to w zarządzaniu wyjątkami i zapewni płynne działanie aplikacji nawet w przypadku wystąpienia problemów.
Jak mogę ulepszyć funkcje mojego skanera paragonów OCR?
Można rozszerzyć aplikację, dodając obsługę różnych typów plików, poprawiając ochronę danych lub integrując dodatkowe funkcje, takie jak rozpoznawanie konkretnych pól na paragonach, aby zwiększyć dokładność wyciągania danych.
Jakie są najlepsze praktyki dotyczące integracji technologii OCR w aplikacjach C#?
Najlepsze praktyki obejmują korzystanie z niezawodnej biblioteki, takiej jak IronOCR, obsługę błędów za pomocą bloków try-catch oraz optymalizację skanera pod kątem wielu formatów paragonów w celu zapewnienia dokładnego wyodrębniania danych.
Jak przekonwertować obraz paragonu na tekst za pomocą języka C#?
Możesz przekonwertować obraz paragonu na tekst za pomocą biblioteki IronOCR w języku C#. Wykorzystaj klasę OcrInput, aby określić obraz, a następnie przetwórz go za pomocą klasy IronTesseract w celu wyodrębnienia tekstu.
Jakie opcje licencyjne są dostępne dla IronOCR?
IronOCR oferuje bezpłatną wersję próbną do zapoznania się z produktem oraz przystępne opcje licencyjne do długotrwałego użytku w środowisku profesjonalnym, dzięki czemu jest dostępny dla różnych zastosowań wymagających technologii OCR.



