Przejdź do treści stopki
NARZęDZIA OCR

OCR faktur z wykorzystaniem uczenia maszynowego (samouczek krok po kroku)

W dzisiejszym szybkim środowisku biznesowym automatyzowanie zadań i nieustrukturyzowanych danych stało się kluczową strategią poprawiającą wydajność i redukującą błędy ręczne. Jednym z takich zadań jest wyciąganie informacji z faktur lub zamówień zakupu, proces, który tradycyjnie wymagał znacznego wysiłku ręcznego. Jednak dzięki postępom w uczeniu maszynowym, modelach głębokiego uczenia i technologii oprogramowania do rozpoznawania znaków optycznych (OCR), firmy mogą teraz usprawnić ten proces wyciągania informacji z faktur za pomocą narzędzi takich jak IronOCR. W tym artykule zbadamy, jak można wykorzystać uczenie maszynowe i IronOCR do zrewolucjonizowania sposobu przetwarzania faktur.

Zrozumienie narzędzia OCR dla faktur

Technologia OCR jest stosowana od pewnego czasu, ale jej zastosowanie do przetwarzania faktur i wydobywania danych znacznie się zwiększyło wraz z nadejściem uczenia maszynowego. OCR, skrót od optycznego rozpoznawania znaków, to technologia, która przekształca różne typy dokumentów, takich jak zeskanowane dokumenty papierowe z informacjami faktury, pliki PDF, dokumenty finansowe lub obrazy wejściowe uchwycone przez aparat cyfrowy, na dane edytowalne i przeszukiwalne. W zasadzie tłumaczy tekst z obrazów na tekst maszynowy zrozumiały przy użyciu wstępnego przetwarzania obrazu.

IronOCR to potężna biblioteka OCR zbudowana na bazie algorytmów uczenia maszynowego, która może być zintegrowana z różnymi aplikacjami i językami programowania, co czyni go wszechstronnym narzędziem do przetwarzania faktur. Korzystając z IronOCR, firmy mogą z niezwykłą dokładnością zautomatyzować wyodrębnianie danych z faktur, takich jak numer faktury, data, dane dostawcy i pozycje.

Zalety korzystania z IronOCR dla OCR faktur

Korzystanie z IronOCR do przetwarzania faktur oferuje liczne korzyści, które mogą znacząco poprawić wydajność i dokładność w operacjach finansowych organizacji, takich jak konta zobowiązań. Zagłębmy się w te korzyści bardziej szczegółowo:

1. Dokładność i mniejsze błędy

IronOCR wykorzystuje zaawansowane algorytmy uczenia maszynowego do dokładnego rozpoznawania i wydobywania tekstu z faktur. To minimalizuje ryzyko błędów ludzkich podczas wprowadzania danych, zapewniając, że krytyczne informacje finansowe są prawidłowo rejestrowane.

2. Oszczędność czasu i kosztów

Automatyzacja przetwarzania faktur z IronOCR znacząco redukuje czas i zasoby potrzebne do ręcznego wprowadzania danych. Może to prowadzić do znacznych oszczędności kosztów poprzez optymalizację czasu pracy personelu i zredukowanie potrzeby pracy ręcznej.

3. Poprawa wydajności

IronOCR może szybko i efektywnie przetwarzać dużą ilość faktur. Eliminuje potrzebę, aby pracownicy ręcznie wprowadzali dane z każdej faktury, umożliwiając im skupienie się na bardziej strategicznych zadaniach.

4. Skalowalność

IronOCR jest skalowalny i może obsługiwać rosnącą ilość faktur wraz z rozwojem twojego biznesu. Nie musisz martwić się o zwiększone obciążenia pracą i obramowania przytłaczające twój system przetwarzania dokumentów fakturowych.

5. Globalny zasięg

IronOCR obsługuje ponad 125 języków, co pozwala firmom przetwarzać faktury od dostawców i klientów na całym świecie. Niezależnie od języka, w jakim faktura jest napisana, IronOCR może precyzyjnie wydobyć dane.

6. Obsługa wielu formatów

IronOCR może przetwarzać faktury w różnych formatach, w tym zeskanowane obrazy, PDF-y oparte na obrazach oraz PDF-y oparte na tekstach. Ta wszechstronność zapewnia, że można bezproblemowo obsługiwać faktury z różnych źródeł i formatów.

7. Dostosowanie i wydobycie danych

Możesz dostosować IronOCR, aby wydobywać określone pola danych z faktur, takie jak numery faktur, daty, dane dostawcy i informacje o pozycjach. Ten poziom dostosowania pozwala dopasować rozwiązanie do specyficznych potrzeb biznesowych.

8. Zgodność i Kontrola Audytowa

Zautomatyzowane przetwarzanie faktur za pomocą IronOCR pomaga utrzymać dokładne zapisy i zapewnia ścieżkę audytową. Jest to kluczowe dla zgodności z regulacjami finansowymi i upraszczania procesu audytu.

9. Skrócony cykl przetwarzania faktur

Usprawniona i zautomatyzowana natura IronOCR skraca czas potrzebny na przetwarzanie faktur, co z kolei skraca cykl przetwarzania faktur. Może to prowadzić do szybszych płatności dla dostawców i poprawy relacji.

10. Zwiększona analiza danych

Posiadając dane faktur w ustrukturyzowanym formacie cyfrowym, można przeprowadzać bardziej dogłębną analizę danych. Może to pomóc w identyfikacji trendów, optymalizacji wydatków i podejmowaniu świadomych decyzji finansowych.

Wdrażanie IronOCR do przetwarzania faktur

Aby wdrożyć IronOCR do przetwarzania faktur, postępuj zgodnie z tymi ogólnymi krokami:

Step 1: Create a New C

Rozpocznij od utworzenia nowego projektu C# lub otwarcia istniejącego projektu w preferowanym środowisku deweloperskim (np. Visual Studio lub Visual Studio Code). Używam Visual Studio 2022 IDE i aplikacji konsolowej do tej demonstracji. Możesz użyć tej samej implementacji w dowolnym rodzaju projektu, takim jak ASP.NET Web API, ASP.NET MVC, ASP.NET Web Forms czy dowolnym .NET Framework.

Invoice OCR Machine Learning (Krok-Po-Kroku Poradnik): Rysunek 1 - Projekt C#

Krok 2: Zainstaluj IronOCR za pośrednictwem menedżera pakietów NuGet

Aby użyć IronOCR w swoim projekcie, musisz zainstalować pakiet NuGet IronOCR. Oto jak to zrobić:

  1. Otwórz konsolę menedżera pakietów NuGet. W Visual Studio można to znaleźć w "Narzędzia" > "Menedżer pakietów NuGet" > "Konsola menedżera pakietów".

Invoice OCR Machine Learning (Krok-Po-Kroku Poradnik): Rysunek 2 - Konsola Menedżera Pakietów

  1. Uruchom następujące polecenie, aby zainstalować pakiet IronOCR:

    Install-Package IronOcr

    Invoice OCR Machine Learning (Krok-Po-Kroku Poradnik): Rysunek 3 - Instalacja IronOCR

  2. Poczekaj, aż pakiet zostanie zainstalowany. Po zakończeniu możesz zacząć używać IronOCR w swoim projekcie.

Step 3: Implement OCR in Your C

Teraz napiszemy kod C#, aby wykonać OCR na fakturze, używając IronOCR. W tej przykładzie użyjemy próbki faktury.

Invoice OCR Machine Learning (Krok-Po-Kroku Poradnik): Rysunek 4 - Przykładowy Szablon Faktury

Poniższy przykładowy kod przyjmie obraz faktury jako wejście i wyodrębni dane z faktury, takie jak numer faktury, zamówienia itp.

// Define the path to the invoice image
string invoicePath = @"D:\Invoices\SampleInvoice.png";

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Add the invoice image to the OCR input
    input.AddImage(invoicePath);

    // Perform OCR on the input image and store result
    OcrResult result = ocr.Read(input);

    // Output the extracted text from the image to the console
    Console.WriteLine(result.Text);
}
// Define the path to the invoice image
string invoicePath = @"D:\Invoices\SampleInvoice.png";

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Add the invoice image to the OCR input
    input.AddImage(invoicePath);

    // Perform OCR on the input image and store result
    OcrResult result = ocr.Read(input);

    // Output the extracted text from the image to the console
    Console.WriteLine(result.Text);
}
' Define the path to the invoice image
Dim invoicePath As String = "D:\Invoices\SampleInvoice.png"

' Create an instance of IronTesseract for OCR processing
Dim ocr As New IronTesseract()

' Use 'using' to ensure proper disposal of OcrInput resources
Using input As New OcrInput()
	' Add the invoice image to the OCR input
	input.AddImage(invoicePath)

	' Perform OCR on the input image and store result
	Dim result As OcrResult = ocr.Read(input)

	' Output the extracted text from the image to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Powyższy kod to zwięzły przykład C#, który używa IronOCR do wykonania OCR na pojedynczym obrazie faktury (SampleInvoice.png), a następnie wydrukuje wyodrębnione dane faktury na konsoli. Upewnij się, że zmieniasz zmienną invoicePath na ścieżkę do swojego konkretnego pliku obrazu faktury.

Invoice OCR Machine Learning (Krok-Po-Kroku Poradnik): Rysunek 5 - Wynik OCR Faktury

Przyjmijmy wiele faktur jako wejście jednocześnie i wyodrębnijmy ich dane. Poniżej przedstawiamy katalog Faktury, którego używamy jako wejście.

Invoice OCR Machine Learning (Krok-Po-Kroku Poradnik): Rysunek 6 - Katalog Faktur

Poniższy przykładowy kod wykonuje ekstrakcję tekstu z wielu faktur jednocześnie.

// Get all PNG files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Loop through each file and add it to the OCR input
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }

    // Perform OCR on all the added images and store the result
    OcrResult result = ocr.Read(input);

    // Output the extracted text from all images to the console
    Console.WriteLine(result.Text);
}
// Get all PNG files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Loop through each file and add it to the OCR input
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }

    // Perform OCR on all the added images and store the result
    OcrResult result = ocr.Read(input);

    // Output the extracted text from all images to the console
    Console.WriteLine(result.Text);
}
' Get all PNG files from the specified directory
Dim fileArray() As String = Directory.GetFiles("D:\Invoices\", "*.png")

' Create an instance of IronTesseract for OCR processing
Dim ocr As New IronTesseract()

' Use 'using' to ensure proper disposal of OcrInput resources
Using input As New OcrInput()
	' Loop through each file and add it to the OCR input
	For Each file As String In fileArray
		input.AddImage(file)
	Next file

	' Perform OCR on all the added images and store the result
	Dim result As OcrResult = ocr.Read(input)

	' Output the extracted text from all images to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Powyższy kod pobierze wszystkie obrazy PNG z folderu, wyodrębni dane, a następnie wyświetli wyodrębnione dane wszystkich faktur w folderze na konsoli.

Invoice OCR Machine Learning (Krok-Po-Kroku Poradnik): Rysunek 7 - Wyodrębnione Dane

Zapisz wyodrębnione dane jako przeszukiwalną fakturę PDF

Poniższy kod przeczyta wszystkie obrazy z folderu, wykona ekstrakcję danych i zapisze je jako jedną przeszukiwalną fakturę PDF.

// Get all PNG files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Loop through each file and add it to the OCR input
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }

    // Perform OCR on all the added images and store the result
    OcrResult result = ocr.Read(input);

    // Save the result as a searchable PDF
    result.SaveAsSearchablePdf(@"D:\Invoices\Searchable.pdf");
}
// Get all PNG files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Loop through each file and add it to the OCR input
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }

    // Perform OCR on all the added images and store the result
    OcrResult result = ocr.Read(input);

    // Save the result as a searchable PDF
    result.SaveAsSearchablePdf(@"D:\Invoices\Searchable.pdf");
}
' Get all PNG files from the specified directory
Dim fileArray() As String = Directory.GetFiles("D:\Invoices\", "*.png")

' Create an instance of IronTesseract for OCR processing
Dim ocr As New IronTesseract()

' Use 'using' to ensure proper disposal of OcrInput resources
Using input As New OcrInput()
	' Loop through each file and add it to the OCR input
	For Each file As String In fileArray
		input.AddImage(file)
	Next file

	' Perform OCR on all the added images and store the result
	Dim result As OcrResult = ocr.Read(input)

	' Save the result as a searchable PDF
	result.SaveAsSearchablePdf("D:\Invoices\Searchable.pdf")
End Using
$vbLabelText   $csharpLabel

Kod jest prawie podobny we wszystkich przykładach; Po prostu dokonujemy drobnych zmian, aby zademonstrować różne przypadki użycia. Wyjściowy plik PDF pokazano poniżej:

Invoice OCR Machine Learning (Krok-Po-Kroku Poradnik): Rysunek 8 - Wynik PDF

W ten sposób IronPDF zapewnia najłatwiejszy sposób automatyzacji przetwarzania faktur i dokumentów.

Wyodrębnij dane faktur z faktur PDF

Aby wyodrębnić dane z faktur PDF za pomocą IronOCR, możesz postępować zgodnie z podobnym podejściem jak w poprzednim przykładzie kodu. IronOCR jest w stanie obsłużyć zarówno PDF oparte na obrazach, jak i tekstowe. Oto krótki przykład, jak wyodrębnić dane z faktury PDF:

// Get all PDF files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.pdf");

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Loop through each file and add it to the OCR input
    foreach (string file in fileArray)
    {
        input.AddPdf(file);
    }

    // Perform OCR on all the added PDFs and store the result
    OcrResult result = ocr.Read(input);

    // Output the extracted text from all PDFs to the console
    Console.WriteLine(result.Text);
}
// Get all PDF files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.pdf");

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Loop through each file and add it to the OCR input
    foreach (string file in fileArray)
    {
        input.AddPdf(file);
    }

    // Perform OCR on all the added PDFs and store the result
    OcrResult result = ocr.Read(input);

    // Output the extracted text from all PDFs to the console
    Console.WriteLine(result.Text);
}
' Get all PDF files from the specified directory
Dim fileArray() As String = Directory.GetFiles("D:\Invoices\", "*.pdf")

' Create an instance of IronTesseract for OCR processing
Dim ocr As New IronTesseract()

' Use 'using' to ensure proper disposal of OcrInput resources
Using input As New OcrInput()
	' Loop through each file and add it to the OCR input
	For Each file As String In fileArray
		input.AddPdf(file)
	Next file

	' Perform OCR on all the added PDFs and store the result
	Dim result As OcrResult = ocr.Read(input)

	' Output the extracted text from all PDFs to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Powyższy kod efektywnie przetwarza wiele faktur PDF umieszczonych w katalogu ("D:\Invoices") za pomocą IronOCR. Pobiera on ścieżki do plików, dodaje każdy PDF do przetwarzania OCR, łączy wyodrębniony tekst i wyświetla wynik na konsoli. Takie podejście usprawnia wyodrębnianie danych z faktur dla organizacji, które przetwarzają dużą liczbę faktur, zwiększając efektywność i redukując wysiłek manualny.

Invoice OCR Machine Learning (Krok-Po-Kroku Poradnik): Rysunek 9 - Wynik Wyodrębnienia

Wnioski

Podsumowując, połączenie uczenia maszynowego i zaawansowanej technologii OCR, jak IronOCR, zmienia sposób obsługi faktur. Ten artykuł przeprowadził Cię przez proces używania IronOCR, ukazując jego niezwykłe zalety. Adoptując IronOCR, firmy mogą osiągnąć większą dokładność, oszczędzać czas i pieniądze oraz bez wysiłku obsługiwać faktury w różnych formatach i językach. Eliminacja ręcznego wprowadzania danych nie tylko zwiększa efektywność, ale także zmniejsza ryzyko kosztownych błędów w transakcjach finansowych. IronOCR upraszcza i poprawia przepływ pracy przetwarzania faktur, co czyni go mądrym wyborem dla firm dążących do poprawy swoich operacji finansowych w dzisiejszym konkurencyjnym środowisku. Ponadto IronOCR oferuje zestaw potężnych funkcji, w tym wsparcie dla ponad 125 języków, dostosowywana ekstrakcja danych i zgodność z PDF opartych na obrazach i tekstowych.

Choć zestaw funkcji IronOCR jest imponujący, warto również zauważyć, że model cenowy IronOCR został zaprojektowany, aby zaspokoić szeroki zakres potrzeb biznesowych, oferując elastyczne opcje z bezpłatną wersją próbną zarówno dla małych przedsiębiorstw, jak i dużych korporacji. Niezależnie od tego, czy przetwarzasz kilka faktur, czy zarządzasz dużą ilością dokumentów finansowych, IronOCR pozostaje niezawodnym i ekonomicznym rozwiązaniem.

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