IRONSOFTWAREHOME
KORZYSTANIE Z IRONOCR

Zbuduj API OCR do paragonów w C#, które faktycznie wyodrębnia przydatne dane

Kannaopat Udonpant
Kannapat Udonpant
Updated: 21 kwietnia 2026

Ręczne wprowadzanie danych z paragonów to rodzaj żmudnej, podatnej na błędy pracy, która sprawia, że programiści zaczynają kwestionować swoje wybory zawodowe. API OCR dla paragonów eliminuje ręczne wprowadzanie danych, używając optycznego rozpoznawania znaków do automatycznego wyodrębniania tekstu z obrazów paragonów i konwertowania go na strukturalne dane, które aplikacje mogą rzeczywiście wykorzystać. Niezależnie od tego, czy celem jest automatyzacja zarządzania wydatkami, integracja z oprogramowaniem księgowym, czy zasilanie programów lojalnościowych, solidne rozwiązanie OCR do paragonów wykonuje ciężką pracę.

W tym artykule pokażemy, jak można zbudować API OCR do paragonów w C# używając IronOCR, biblioteki .NET, która działa całkowicie lokalnie, przetwarza obrazy paragonów na miejscu i nie wymaga przesyłania wrażliwych danych paragonów do zewnętrznych usług chmurowych. Oznacza to pełną ochronę danych bez poświęcania dokładności.

Rozpocznij bezpłatnie z IronOCR, aby śledzić poniższe przykłady.

Jak działa technologia OCR do paragonów?

Zbuduj API OCR do przetwarzania paragonów w C#, które faktycznie wyciąga użyteczne dane: Obraz 1 - Przykład wyników API OCR paragonów

OCR do paragonów (optyczne rozpoznawanie znaków OCR) automatyzuje wyodrębnianie danych z paragonów, zamieniając drukowany tekst na obrazie paragonu w tekst możliwy do odczytu przez maszynę. Pod powierzchnią, technologie AI i modele głębokiego uczenia analizują wizualny układ paragonu, identyfikują obszary tekstu i rozpoznają znaki z niespotykaną dokładnością, często osiągając 99% lub więcej na czystych skanach.

Nowoczesne API OCR do paragonów używają uczenia maszynowego do analizowania kluczowych informacji, takich jak nazwa sprzedawcy, data, pojedyncze pozycje, sumy i kwoty podatków z różnych formatów i układów paragonów. Techniki głębokiego uczenia pozwalają tym modelom na ciągłą poprawę poprzez uczenie się na dużych zbiorach danych, dostosowując się do nowych projektów paragonów i języków w miarę upływu czasu. Wynikiem jest szybkie, niezawodne wyodrębnianie danych z paragonów, które zastępuje powolne, podatne na błędy ręczne wprowadzanie w różnych branżach.

Technologia skanowania paragonów może obsługiwać wiele języków, przetwarzać dokumenty w formatach takich jak JPG, PNG i PDF oraz dostarczać wyniki w standardowym formacie, takim jak ustrukturyzowany JSON, czyniąc prostą integrację z istniejącymi systemami.

Jak można wyodrębnić dane z paragonów za pomocą C#?

Wyodrębnianie danych z paragonów w C# wymaga zaledwie kilku linii kodu przy użyciu IronOCR. Podstawowy przepływ pracy ładuje plik obrazu paragonu, uruchamia silnik OCR i zwraca pełny wyodrębniony tekst.

using IronOcr;
// Initialize the OCR engine for receipt scanning
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
// Load the receipt image for data extraction
using var input = new OcrInput();
input.LoadImage("receipt.jpg");
// Extract text from the receipt
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Wynik

Zbuduj API OCR do przetwarzania paragonów w C#, które faktycznie wyciąga użyteczne dane: Obraz 2 - Wyniki odczytu paragonu przez IronOCR

Klasa IronTesseract jest głównym silnikiem OCR, zarządzanym wrapperem wokół Tesseract 5, który eliminuje problem z natywną interoperacją C++ i ręczną konfiguracją. Ustawienie OcrLanguage.English informuje silnik, z którego modelu językowego korzystać, chociaż IronOCR obsługuje ponad 125 języków do przetwarzania paragonów z całego świata.

OcrInput akceptuje obrazy paragonów w praktycznie każdym popularnym formacie (JPG, PNG, BMP, TIFF, GIF, WEBP), a także w PDF-ach. Metoda Read wykonuje faktyczną operację OCR i zwraca obiekt OcrResult, bogaty model dokumentu, który zawiera nie tylko zwykły tekst, ale umożliwia strukturalny dostęp do akapitów, linii, słów i pojedynczych znaków z ocenami wiarygodności. To jest idealne dla przepływów pracy analizujących paragony, które muszą wyodrębniać dane na poziomie szczegółowym.

Jak przetwarzanie obrazu może zmniejszyć błędy w skanowaniu paragonów?

Obrazy paragonów z rzeczywistego świata rzadko są doskonałe. Zmięte papiery, słabe oświetlenie i nieznaczna rotacja wprowadzają szum, który może powodować błędy podczas wyodrębniania danych. Przetwarzanie obrazu przed uruchomieniem OCR znacznie poprawia dokładność i pomaga zmniejszyć błędy, które w przeciwnym razie zniszczyłyby dane z Twoich paragonów.

using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("receipt.jpg");
// Preprocess the receipt image to improve OCR accuracy
input.DeNoise();    // Remove digital noise from the scanned receipt
input.Deskew();     // Straighten a tilted or rotated receipt capture
input.Sharpen();    // Enhance text clarity for better recognition
OcrResult result = ocr.Read(input);
Console.WriteLine($"Confidence: {result.Confidence}%");
Console.WriteLine(result.Text);

Zbuduj API OCR do przetwarzania paragonów w C#, które faktycznie wyciąga użyteczne dane: Obraz 3 - Przykład wyników z nieczytelnym obrazem paragonu

Funkcje przetwarzania obrazu

Aby poprawić dokładność wyodrębniania, IronOCR oferuje kilka wbudowanych filtrów do oczyszczania obrazów przed rozpoczęciem procesu OCR.

FunkcjaCel
DeNoise()Usuwa plamki i artefakty cyfrowe często spotykane w zeskanowanych dokumentach.
Deskew()Wykrywa i koryguje rotację dla skręconych lub przechylonych obrazów.
Sharpen()Poprawia rozmyte krawędzie, aby sprawić, by wyblakły tekst był bardziej czytelny.
Binarize()Konwertuje obrazy na czarno-białe, aby zwiększyć kontrast.
ToGrayScale()Usuwa dane kolorów, aby uprościć obraz dla silnika OCR.
EnhanceResolution()Zwiększa rozdzielczość obrazów o niskiej jakości DPI, aby poprawić rozpoznawanie znaków.

Walidacja danych z ocenami pewności

Poza prostym wyodrębnianiem tekstu, właściwość Confidence na OcrResult zwraca wynik procentowy wskazujący na wiarygodność wyników.

Dla zautomatyzowanych procesów przetwarzania paragonów obsługujących duże wolumeny, ten wynik jest nieoceniony. Umożliwia systemowi ustawienie progu — na przykład automatycznie przetwarzać wszystko powyżej 90%, jednocześnie oznaczając wyniki o niskiej pewności do ręcznego przeglądu. Dzięki temu zapewniamy wysoką jakość danych bez potrzeby sprawdzania każdego pojedynczego paragonu przez człowieka.

Jak można parsować określone pola z tekstu OCR paragonów?

Uzyskiwanie surowego tekstu z powrotem z silnika OCR to świetny początek, ale to dopiero początek. Jeśli budujesz raport wydatków lub narzędzie księgowe z przetwarzaniem w czasie rzeczywistym, nie potrzebujesz tylko 'blob'a' tekstu, potrzebujesz konkretnych pól danych, takich jak data, nazwa sprzedawcy i suma końcowa.

Gdy IronOCR wykona ciężką pracę polegającą na odczytaniu obrazu, możemy użyć standardowej logiki C# i wyrażeń regularnych (Regex) w naszym API paragonowym, aby wyciągnąć interesujące nas konkretne pola.

using IronOcr;
using System.Text.RegularExpressions;

var ocr = new IronTesseract();
using var input = new OcrInput("receipt.jpg");
input.DeNoise();
OcrResult result = ocr.Read(input);
string ocrText = result.Text;

// Parse the date from receipt data
var dateMatch = Regex.Match(ocrText, @"\d{1,2}/\d{1,2}/\d{2,4}");
string receiptDate = dateMatch.Success ? dateMatch.Value : "Not found";

// Parse the total amount
var totalMatch = Regex.Match(ocrText, @"(?i)total[\s:$]*(\d+\.\d{2})");
string total = totalMatch.Success ? totalMatch.Groups[1].Value : "Not found";

Console.WriteLine($"Date: {receiptDate}");
Console.WriteLine($"Total: ${total}");

Zbuduj API OCR do przetwarzania paragonów w C#, które faktycznie wyciąga użyteczne dane: Obraz 4 - przykład wyników użycia IronOCR i prostych wzorców regex

Ten przykład używa prostych wzorców regex, aby automatycznie wyodrębniać datę i sumę ze surowego tekstu OCR paragonu. Wzorzec daty dopasowuje się do popularnych formatów dat na paragonach, takich jak 03/15/2026, podczas gdy wzorzec dla sumy szuka słowa 'TOTAL' poprzedzonego kwotą w dolarach. Dla systemów produkcyjnych wzorce te powinny być dostosowane do konkretnych formatów paragonów, z jakimi się spotkano.

Aby wyodrębnić dane o pozycjach — nazwy poszczególnych produktów, ilości i ceny, podziel tekst OCR według linii i zastosuj wzorce, które identyfikują wiersze pozycji. To podejście dobrze sprawdza się przy konwersji obrazów paragonów na dane strukturalne odpowiednie do formatu JSON, przepływów pracy związanych z zarządzanie wydatkami i bezpośrednią integracją z oprogramowaniem księgowym. Dla bardziej zaawansowanego analizowania paragonów o różnorodnych układach, rozważ połączenie odczytu OCR opartego na regionach (używając prostokątów ContentArea) z funkcjami struktury dokumentu IronOCR, aby wyciągnąć dane o pozycjach z konkretnych sekcji paragonu.

Rzeczywisty sprawdzian rzeczywistości dla programistów dotyczący Regex

Bądźmy szczerzy: Regex to 'szybki i brudny' sposób na początek, ale nie jest niezawodny. Paragony z rzeczywistego świata są nieuporządkowane. Jeden sprzedawca może wydrukować 'TOTAL', inny może powiedzieć 'Kwota Do Zapłaty', a trzeci może mieć plamę od kawy bezpośrednio na znaku dolara.

Jeśli przenosisz to do produkcji, nie polegaj na jednym wzorcu. Oto jak to uczynić bardziej solidnym:

  • Używaj ocen pewności: IronOCR daje Ci procentową ocenę pewności dla każdego przeczytanego słowa. Jeśli pewność dla Twojej kwoty 'Suma' jest poniżej 80%, powinieneś prawdopodobnie oznaczyć ten paragon do podwójnego sprawdzenia przez człowieka.
  • Waliduj dane: Nie ufaj tylko łańcuchowi znaków. Spróbuj przekształcić tę 'Suma' na liczbę zmiennoprzecinkową. Jeśli to się nie uda, Twoje OCR mogło błędnie odczytać '5' jako 'S'.
  • Lokalizacja ma znaczenie: Dla złożonych układów użyj OcrResult.Blocks lub Lines w IronOCR, aby znaleźć tekst według jego pozycji na stronie. Jeśli 'Suma' zawsze znajduje się w prawym dolnym rogu, celowanie w ten konkretny obszar zmniejsza 'szum' od innych liczb na paragonie.

Jak API OCR do paragonów integruje się z systemami zarządzania wydatkami?

API OCR do paragonów staje się naprawdę potężne, gdy dostarcza strukturalne dane paragonowe bezpośrednio do systemów biznesowych. IronOCR oferuje przyjazne dla programistów API, które integruje się bezproblemowo z dowolną aplikacją .NET, niezależnie od tego, czy to usługa internetowa ASP.NET, aplikacja do śledzenia wydatków na komputerze, czy tło przetwarzające paragony w partiach.

API zwraca wyodrębniony tekst jako obiekt OcrResult, który zapewnia dostęp do poszczególnych stron, akapitów i linii. Dzięki temu łatwo jest zbudować pipeline przetwarzania paragonów, który parsuje tekst OCR do strukturalnego JSON, waliduje dane (w tym wykrywanie duplikatów i weryfikację zakupu) i przekazuje je do oprogramowania księgowego, systemów ERP lub baz danych.

IronOCR wykonuje całe przetwarzanie OCR lokalnie, bez zależności od chmury, bez karty kredytowej wymaganej do bezpłatnego planu próbnego i pełnej kontroli nad wrażliwymi dokumentami finansowymi. To podejście zorientowane na lokalność oznacza, że API OCR do paragonów może obsługiwać duże ilości cyfrowych paragonów bez obaw o opóźnienia, a także zapewnia wbudowaną ochronę danych dla organizacji w różnych branżach z rygorystycznymi wymaganiami zgodności. Biblioteka oferuje obszerną dokumentację i bezproblemową integrację z istniejącymi systemami przez NuGet, co czyni ją pragmatycznym wyborem dla zespołów ceniących zarówno wydajność, jak i prostotę.

Dla programistów, którzy chcą zbudować pełne rozwiązanie do skanowania paragonów, IronOCR obsługuje również odczytywanie kodów kreskowych i QR, generowanie przeszukiwalnego PDF oraz przetwarzanie dokumentów wielostronicowych, wszystko w ramach tej samej biblioteki.

Zacznij automatyzować ekstrakcję danych z paragonów już dziś

Budowanie API OCR do paragonów w C# za pomocą IronOCR usuwa ból ręcznego wprowadzania danych i zastępuje go szybkim, dokładnym, automatycznym wyodrębnianiem danych. Od podstawowego skanowania paragonów po zaawansowane parsowanie paragonów z ekstrakcją na poziomie pól, biblioteka dostarcza wszystko, co potrzebne do konwersji obrazów paragonów na wartościowe, strukturalne dane, wszystko bez potrzeby wysyłania dokumentów poza siedzibę.

Połączenie potężnych filtrów przetwarzania wstępnego, czystego API .NET, rozpoznawania wspomaganego uczeniem maszynowym i lokalnego przetwarzania czyni IronOCR silnym wyborem dla zarządzania wydatkami, przetwarzania paragonów i dla każdego przepływu pracy, który wymaga niezawodnego wyodrębniania danych z paragonów na dużą skalę.

Gotowy, aby wyeliminować ręczne wprowadzanie z Twoich przepływów pracy dotyczących paragonów? Odkryj opcje licencji IronOCR aby znaleźć odpowiedni plan dla Twojego zespołu, lub rozpocznij z darmowym okresem próbnym, aby zobaczyć wyniki na własne oczy.

PM > Install-Package IronOcr

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Otrzymaj swoją Konsultację Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta