Przejdź do treści stopki
KORZYSTANIE Z IRONOCR

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

  1. Utwórz projekt konsoli C# w Visual Studio.
  2. Zainstaluj bibliotekę OCR, korzystając z Menedżera Pakietów NuGet.
  3. Zaladuj rachunek do programu, uzywajac metody OcrInput.
  4. Wyodrebnij tekst, korzystajac z metody Read.
  5. 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:

  1. Visual Studio: Będzie to nasze zintegrowane środowisko rozwoju (IDE), w którym będziemy pisać i uruchamiać nasz kod C#.
  2. Biblioteka IronOCR: Użyjemy IronOCR, zaawansowanej biblioteki OCR, którą można łatwo zintegrować z aplikacjami C#.
  3. Przykładowy paragon: Plik obrazu paragonu o nazwie Sample_Receipt.jpg, który wykorzystamy do przetestowania naszej implementacji OCR.

Jak stworzyc skaner rachunkow OCR w C#: Rysunek 1 - Obraz przykladowego rachunku

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 OCRReceiptScanner jako 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:

  1. Kliknij prawym przyciskiem na swoim projekcie w Eksploratorze rozwiązań.
  2. Wybierz "Zarządzaj pakietami NuGet".
  3. W oknie Menedżera Pakietów NuGet zobaczysz kilka kart, takich jak Przeglądaj, Zainstalowane, Aktualizacje i Konsoliduj. Kliknij na kartę Przeglądaj.
  4. W polu wyszukiwania wpisz IronOCR. To jest nazwa biblioteki, którą chcemy dodać do naszego projektu. Naciśnij enter, aby wyszukać.
  5. Wyniki wyszukiwania pokażą pakiet biblioteki IronOCR. Powinien być jednym z pierwszych wyników, które zobaczysz. Kliknij, aby zaznaczyć.
  6. 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.

    Jak stworzyc skaner rachunkow OCR w C#: Rysunek 2 - Instalacja IronOCR przez menedzera pakietow NuGet

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

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

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

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

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

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

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

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

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

Krok 6: Uruchomienie Twojej Aplikacji

  1. Zbuduj Projekt: Kliknij menu 'Buduj', a następnie wybierz 'Zbuduj rozwiązanie'.
  2. 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.

Jak stworzyc skaner rachunkow OCR w C#: Rysunek 3 - Wyjsciowy tekst z poprzedniego przykladu kodu

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.

Kannaopat Udonpant
Inżynier oprogramowania
Zanim stał się inżynierem oprogramowania, Kannapat ukończył doktorat z zasobów środowiskowych na Uniwersytecie Hokkaido w Japonii. W czasie studiowania, Kannapat również został członkiem Laboratorium Robotyki Pojazdów, które jest częścią Wydziału Inżynierii Bioprodukcji. W 2022 roku wykorzystał swoje umiejętności w ...
Czytaj więcej

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie