Porównanie pomiędzy IronOCR a Asprise OCR
Kiedy mówimy o OCR, odnosi się to do rozpoznawania znaków optycznych. Termin ten jest często używany w świecie biznesu w odniesieniu do procesu przekształcania obrazu lub graficznej reprezentacji jakiegokolwiek dokumentu tekstowego (np. zeskanowanej lub faksowanej strony) w edytowalny format dokumentu tekstowego lub wyszukiwanego w tekście formatu dokumentu za pomocą oprogramowania komputerowego.
Akronim OCR oznacza Rozpoznawanie Znaków Optycznych, zadanie wykonywane przez oprogramowanie komputerowe specjalnie zaprojektowane do tego celu. Tego typu oprogramowanie skanuje stronę i rozpoznaje wszelkie informacje tekstowe, które się na niej znajdują, przekształcając je w formę cyfrową, aby można było je edytować i odtwarzać elektronicznie bez utraty jakości.
Istnieje wiele zastosowań dla OCR, ale najpopularniejszym przypadkiem użycia jest przekształcanie zeskanowanych dokumentów w pliki cyfrowe, które można formatować i indeksować w bazach danych oraz analizować.
W tym artykule porównamy dwie z najczęściej używanych bibliotek i aplikacji do OCR i obrazów dokumentów PDF. Są to:
- Asprise OCR
- IronOCR
1.0 Wprowadzenie
1.1 Wprowadzenie i funkcje Asprise OCR
SDK Asprise C# .NET OCR (optical character recognition) i rozpoznawanie kodów kreskowych oferuje wysokowydajną bibliotekę API, aby wyposażyć aplikacje C# .NET (aplikacje Windows, aplikacje ASP.NET Silverlight, kontrolki ActiveX itp.) w funkcjonalność wyodrębniania tekstu i informacji o kodach kreskowych z zeskanowanych dokumentów.
Możesz przekształcić obrazy (w różnych formatach takich jak JPEG, PNG, TIFF, PDF itd.) w edytowalne formaty dokumentów (Word, XML, PDF wyszukiwalny itd.). Oprócz innych oferowanych produktów takich jak Asprise Image Scanning SDK (który przechwytuje dokumenty ze skanerów), możesz łatwo wdrożyć pełne rozwiązania do zarządzania dokumentami.
Funkcje Asprise OCR
Dokładne rozpoznawanie tekstu Z ulepszonym przetwarzaniem obrazu i algorytmami wykrywania tekstu, Asprise OCR może z łatwością rozpoznawać trudne dokumenty o niskiej jakości obrazu. Parametry mogą być użyte, aby nieco faworyzować dokładność ponad szybkość.
Wysokowydajny silnik OCR Asprise OCR wykorzystuje zoptymalizowany silnik OCR, aby zapewnić doskonałe rozpoznawanie w krótkim czasie. Szybkość można jeszcze poprawić poprzez wielowątkowość i opcjonalne przyspieszenie GPU.
Obsługa ponad 20 języków Asprise OCR rozpoznaje ponad 20 języków, takich jak angielski, hiszpański, francuski, niemiecki, włoski, węgierski, fiński, szwedzki, rumuński, polski, malajski, arabski, indonezyjski i rosyjski.
Wszystkie popularne formaty kodów kreskowych Obsługiwane są wszystkie popularne formaty kodów kreskowych: EAN-8, EAN-13, UPC-A, UPC-E, ISBN-10, ISBN-13, Interleaved 2 of 5, Code 39, Code 128, PDF417 i QR Code.
Obrazy do wyszukiwanego PDF Kilka linii kodu wystarcza, aby przekształcić różne formaty obrazów, takie jak JPEG, PNG, TIFF i PDF, w wyszukiwaną strukturę PDF.
Łatwe wdrażanie Nie wymaga dongle ochrony oprogramowania, nie potrzebujesz serwera licencji. Wdrożenie SDK Asprise OCR jest tak łatwe, jak pisanie z nim programu.
Przyjazne dla budżetu, bez opłat licencyjnych Bez opłat licencyjnych oznacza, że płacisz, kiedy zamawiasz licencję deweloperską, ale nie musisz płacić ponownie, kiedy wdrażasz oprogramowanie na tysiącach serwerów lub do tysięcy użytkowników końcowych.
Wsparcie nagrodzone nagrodami Ich zespół nie tylko jest przyjazny, ale także potrafi zapewnić pierwszoklasowe wsparcie techniczne.
1.2 IronOCR — Wprowadzenie i funkcje
IronOCR dostarcza oprogramowanie dla inżynierów, którzy używają IronOCR for .NET do odczytu treści tekstowych ze zdjęć i dokumentów PDF w aplikacjach .NET i stronach internetowych. Skanuje zdjęcia w poszukiwaniu tekstu i kodów kreskowych oraz obsługuje wiele języków na całym świecie; Następnie może generować dane wyjściowe w postaci zwykłego tekstu lub danych ustrukturyzowanych. Biblioteka OCR firmy Iron Software może być używana w aplikacjach .NET typu MVC, internetowych, konsolowych i desktopowych. W przypadku wdrożeń komercyjnych licencjonowanie odbywa się przy bezpośredniej pomocy zespołu programistów.
- Korzystając z najnowszego silnika Tesseract 5, IronOCR odczytuje tekst, BARCODE i kody QR z dowolnego obrazu lub pliku w formacie PDF. Ta biblioteka szybko dodaje funkcję OCR do aplikacji desktopowych, konsolowych i internetowych.
- IronOCR obsługuje 125 języków międzynarodowych. Obsługuje również niestandardowe listy języków i słów.
- IronOCR potrafi odczytywać ponad 20 formatów kodów kreskowych oraz kody QR.
- IronOCR obsługuje wielostronicowe formaty obrazów GIF i TIFF.
- IronOCR zapewnia korekcję skanów o niskiej jakości.
- IronOCR obsługuje wielowątkowość — wykonuje jeden lub więcej procesów jednocześnie.
- IronOCR może zapewnić wyprowadzenie danych strukturalnych dla stron, akapitów, wierszy, słów, znaków itp.
- IronOCR obsługuje różne systemy operacyjne, takie jak Windows, Linux, macOS itp.
2.0 Tworzenie nowego projektu w Visual Studio
Otwórz oprogramowanie Visual Studio i przejdź do "menu Plik". Wybierz "nowy projekt", a następnie "Aplikacja konsolowa".
Wpisz nazwę projektu i wybierz ścieżkę do pliku w odpowiednim polu tekstowym. Następnie kliknij przycisk "Utwórz" i wybierz wymagany .NET Framework, tak jak na poniższym zrzucie ekranu.
Projekt Visual Studio wygeneruje teraz strukturę dla wybranej aplikacji, a jeśli wybrano aplikację konsolową, Windows i internetową, otworzy teraz plik Program.cs, w którym można wpisać kod i zbudować/uruchomić aplikację.
Następnie możemy dodać bibliotekę, aby przetestować kod.
3.0 Instalacja
3.1 Install Asprise OCR
We can download the Asprise OCR here.
Są dwie opcje: instalacja za pomocą NuGet lub ręczne pobranie SDK z asprise.com.
Option 1: NuGet PM> Install-Package asprise-ocr-api
Najpierw utwórz nowy projekt Visual C#/Visual Basic Windows Form Application lub użyj istniejącego projektu. Z tą otwartą solucją, otwórz Konsolę Menedżera Pakietów NuGet i wpisz następujące polecenie:
Install-Package asprise-ocr-api
Po zakończeniu można wywołać formę demo OCR, kopiując poniższy kod do Program.cs (dla C#):
using System;
using System.Windows.Forms;
using asprise_ocr_api;
static class Program
{
// Main application entry point
[STAThread]
static void Main()
{
// Enable visual styles and set text rendering mode
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// Launch the OCR sample form
Application.Run(new asprise_ocr_api.OcrSampleForm());
}
}
using System;
using System.Windows.Forms;
using asprise_ocr_api;
static class Program
{
// Main application entry point
[STAThread]
static void Main()
{
// Enable visual styles and set text rendering mode
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// Launch the OCR sample form
Application.Run(new asprise_ocr_api.OcrSampleForm());
}
}
Imports System
Imports System.Windows.Forms
Imports asprise_ocr_api
Friend Module Program
' Main application entry point
<STAThread>
Sub Main()
' Enable visual styles and set text rendering mode
Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(False)
' Launch the OCR sample form
Application.Run(New asprise_ocr_api.OcrSampleForm())
End Sub
End Module
Opcja 2: Pobierz SDK OCR z Asprise.com
Download a copy of the Asprise SDK OCR from www.asprise.com/product/ocr. Po prostu rozpakuj go do pustego folderu.
Organizacja plików w dystrybucji SDK Asprise OCR jest następująca:
SDK OCR
|--- aocr.dll, aocr_x64.dll [wymagane DLL]
|--- przykładowe projekty [.NET API i przykładowy projekt]
+--- obrazy [Przykładowe obrazy]
Przejdź do folderu sample-projects i otwórz rozwiązanie: ocr-samples-vs.sln. Istnieją dwa projekty:
- asprise-ocr-api: the .NET OCR API
- asprise-ocr-api-sample: program demonstracyjny
Kliknij prawym przyciskiem myszy projekt asprise-ocr-api-sample i wybierz "Set as StartUp Project", następnie kliknij przycisk 'Start' lub naciśnij F5, a zobaczysz ten sam interfejs użytkownika, jak pokazano.
3.2 Zainstaluj IronOCR
Bibliotekę IronOCR można pobrać i zainstalować na cztery sposoby.
Są to:
- Korzystanie z programu Visual Studio
- Korzystanie z wiersza poleceń programu Visual Studio
- Bezpośrednie pobranie ze strony NuGet
- Bezpośrednie pobranie ze strony internetowej IronPDF
3.2.1 Korzystanie z programu Visual Studio
Oprogramowanie Visual Studio udostępnia opcję NuGet Package Manager, która pozwala zainstalować pakiet bezpośrednio w rozwiązaniu. Poniższy zrzut ekranu pokazuje, jak otworzyć menedżera pakietów NuGet.
Zawiera pole wyszukiwania, które wyświetla listę pakietów ze strony NuGet. W menedżerze pakietów musimy wyszukać słowo kluczowe IronOCR, tak jak na poniższym zrzucie ekranu:
Z powyższego obrazka uzyskamy listę powiązanych pozycji wyszukiwania. Musimy wybrać odpowiednią opcję, aby zainstalować pakiet w rozwiązaniu.
3.2.2 Korzystanie z wiersza poleceń programu Visual Studio
W programie Visual Studio przejdź do menu Narzędzia -> Menedżer pakietów NuGet -> Konsola menedżera pakietów
Wprowadź następujący wiersz w zakładce Konsola menedżera pakietów:
Install-Package IronOcr
Następnie pakiet zostanie pobrany/zainstalowany w bieżącym projekcie i będzie gotowy do użycia.
3.2.3 Bezpośrednie pobranie ze strony NuGet
Trzecim sposobem jest pobranie pakietu NuGet bezpośrednio ze strony internetowej.
- Navigate to the Link.
- Wybierz opcję pakietu do pobrania z menu po prawej stronie.
- Kliknij dwukrotnie pobrany pakiet. Zostanie zainstalowany automatycznie.
- Następnie przeładuj rozwiązanie i zacznij z niego korzystać w projekcie.
3.2.4 Bezpośrednie pobranie ze strony internetowej IronOCR
Kliknij ten link, aby pobrać najnowszy pakiet bezpośrednio ze strony internetowej. Po pobraniu wykonaj poniższe kroki, aby dodać pakiet do projektu.
- Kliknij prawym przyciskiem myszy projekt w oknie rozwiązania.
- Następnie wybierz opcję odniesienia i przeglądaj lokalizację pobranego odniesienia.
- Następnie kliknij OK, aby dodać odwołanie.
4.0 Obraz OCR
Zarówno IronOCR, jak i Asprise OCR mają technologie OCR, które przekształcają obrazy w wyszukiwanie tekstu.
4.1 Korzystanie z Asprise
Poniższy kod demonstruje podstawowe użytkowanie Asprise OCR.
using System;
using asprise_ocr_api;
class Example
{
static void Main()
{
// Set up OCR engine
AspriseOCR.SetUp();
AspriseOCR ocr = new AspriseOCR();
ocr.StartEngine("eng", AspriseOCR.SPEED_FASTEST);
// Recognize text from the given image
string s = ocr.Recognize("C:\\path\\img.jpg", -1, -1, -1, -1, -1,
AspriseOCR.RECOGNIZE_TYPE_ALL, AspriseOCR.OUTPUT_FORMAT_PLAINTEXT);
// Output the recognized text to the console
Console.WriteLine("OCR Result: " + s);
// Stop the OCR engine
ocr.StopEngine();
}
}
using System;
using asprise_ocr_api;
class Example
{
static void Main()
{
// Set up OCR engine
AspriseOCR.SetUp();
AspriseOCR ocr = new AspriseOCR();
ocr.StartEngine("eng", AspriseOCR.SPEED_FASTEST);
// Recognize text from the given image
string s = ocr.Recognize("C:\\path\\img.jpg", -1, -1, -1, -1, -1,
AspriseOCR.RECOGNIZE_TYPE_ALL, AspriseOCR.OUTPUT_FORMAT_PLAINTEXT);
// Output the recognized text to the console
Console.WriteLine("OCR Result: " + s);
// Stop the OCR engine
ocr.StopEngine();
}
}
Imports System
Imports asprise_ocr_api
Friend Class Example
Shared Sub Main()
' Set up OCR engine
AspriseOCR.SetUp()
Dim ocr As New AspriseOCR()
ocr.StartEngine("eng", AspriseOCR.SPEED_FASTEST)
' Recognize text from the given image
Dim s As String = ocr.Recognize("C:\path\img.jpg", -1, -1, -1, -1, -1, AspriseOCR.RECOGNIZE_TYPE_ALL, AspriseOCR.OUTPUT_FORMAT_PLAINTEXT)
' Output the recognized text to the console
Console.WriteLine("OCR Result: " & s)
' Stop the OCR engine
ocr.StopEngine()
End Sub
End Class
Asprise OCR obsługuje następujące formaty obrazów: GIF, PNG, JPEG, TIFF i PDF. Dla próbki kodu OCR w powyższej sekcji dane wejściowe wyglądają tak:
Output OCR będzie w formacie Plain-Text:
Asprise OCR i rozpoznawanie kodów kreskowych
Wysokiej wydajności, bez opłat licencyjnych OCR i rozpoznawanie kodów kreskowych na Windows,
...
ISBN-13, Interleaved 2 of 5, Code 39, Code 128, PDF417, and QR Code.
[[QR-Code: www.asprise.com]]
[[CODE-128: Asprise]].
Ostatnie dwa wiersze reprezentują wyciąg danych o kodach kreskowych. Uwaga: zarówno format, jak i zawartość kodu kreskowego są w "[[ ]]".
4.2 Korzystanie z IronOCR
using System;
using IronOcr;
class Example
{
static void Main()
{
// Create an instance of IronTesseract
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.EnglishBest;
// Specify to use Tesseract 5 engine
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
// Create OcrInput to hold the images
using (var Input = new OcrInput())
{
// Add an image to the OcrInput
Input.AddImage(@"3.png");
// Perform OCR on the input image
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
Console.ReadKey();
}
}
}
using System;
using IronOcr;
class Example
{
static void Main()
{
// Create an instance of IronTesseract
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.EnglishBest;
// Specify to use Tesseract 5 engine
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
// Create OcrInput to hold the images
using (var Input = new OcrInput())
{
// Add an image to the OcrInput
Input.AddImage(@"3.png");
// Perform OCR on the input image
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
Console.ReadKey();
}
}
}
Imports System
Imports IronOcr
Friend Class Example
Shared Sub Main()
' Create an instance of IronTesseract
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.EnglishBest
' Specify to use Tesseract 5 engine
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
' Create OcrInput to hold the images
Using Input = New OcrInput()
' Add an image to the OcrInput
Input.AddImage("3.png")
' Perform OCR on the input image
Dim Result = Ocr.Read(Input)
' Output the recognized text to the console
Console.WriteLine(Result.Text)
Console.ReadKey()
End Using
End Sub
End Class
Powyżej przedstawiono API Tesseract 5, które pozwala nam konwertować pliki graficzne na tekst. Tworzymy obiekt dla Iron Tesseract w powyższej linii kodu. Tworzymy również obiekt OcrInput, który pozwoli nam dodać jeden lub więcej plików graficznych. Może być potrzebne podanie dostępnej ścieżki do obrazu w kodzie podczas korzystania z metody obiektowej OcrInput. Można dodać dowolną liczbę obrazów. Funkcja Read w obiekcie IronTesseract, który skonstruowaliśmy wcześniej, może być użyta do pobrania obrazów poprzez parsowanie pliku graficznego i wyodrębnienie wyniku do wyniku OCR. Potrafi wyodrębniać tekst ze zdjęć i konwertować go na ciąg znaków.
Możemy również użyć Tesseract do dodania obrazów wieloklatkowych. "AddMultiFrameTiff" to inna metoda dla tej operacji. Biblioteka Tesseract odczytuje każdą klatkę obrazu, a każda klatka jest traktowana jako oddzielna strona. Proces odczyta pierwszą klatkę obrazu, a następnie przejdzie do następnej i tak dalej, aż wszystkie klatki obrazu zostaną zeskanowane. Ta metoda obsługuje wyłącznie format obrazu TIFF.
Powyższy obraz jest wynikiem IronOCR, który precyzyjnie przekonwertował dane na edytowalny tekst.
5.0 Pliki PDF z OCR
IronOCR i Asprise OCR przekształcają pliki PDF w edytowalny tekst. Asprise OCR dostarcza listę opcji do użytkownika, takich jak zapisywanie strony, edytowanie obrazu, rozpoznawanie strony itd. Dostarcza również opcje zapisywania, takie jak tekst, dokument, format HTML itd. IronOCR również pozwala nam zapisywać przekonwertowany plik OCR do HTML, tekstu, PDF itd.
5.1 Korzystanie z Asprise OCR
Jeśli ustawisz format wyjściowy jako OUTPUT_FORMAT_PDF, musisz określić docelowy plik wyjściowy PDF jako:
ocr.Recognize("C:\\test-image.png", -1, -1, -1, -1, -1,
Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_PDF,
"PROP_PDF_OUTPUT_FILE=ocr-result.pdf|PROP_PDF_OUTPUT_TEXT_VISIBLE=true");
ocr.Recognize("C:\\test-image.png", -1, -1, -1, -1, -1,
Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_PDF,
"PROP_PDF_OUTPUT_FILE=ocr-result.pdf|PROP_PDF_OUTPUT_TEXT_VISIBLE=true");
ocr.Recognize("C:\test-image.png", -1, -1, -1, -1, -1, Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_PDF, "PROP_PDF_OUTPUT_FILE=ocr-result.pdf|PROP_PDF_OUTPUT_TEXT_VISIBLE=true")
W powyższym kodzie właściwości są określone w jednej ciągu oddzielonej przez| (z kluczem i wartością oddzielonymi przez =). Alternatywnie, możesz określić właściwości osobno jako pary:
ocr.Recognize("C:\\test-image.png", -1, -1, -1, -1, -1,
Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_PDF,
AspriseOCR.PROP_PDF_OUTPUT_FILE, "ocr-result.pdf",
AspriseOCR.PROP_PDF_OUTPUT_TEXT_VISIBLE, true);
ocr.Recognize("C:\\test-image.png", -1, -1, -1, -1, -1,
Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_PDF,
AspriseOCR.PROP_PDF_OUTPUT_FILE, "ocr-result.pdf",
AspriseOCR.PROP_PDF_OUTPUT_TEXT_VISIBLE, true);
ocr.Recognize("C:\test-image.png", -1, -1, -1, -1, -1, Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_PDF, AspriseOCR.PROP_PDF_OUTPUT_FILE, "ocr-result.pdf", AspriseOCR.PROP_PDF_OUTPUT_TEXT_VISIBLE, True)
Aby tekst był niewidoczny lub przezroczysty, wystarczy ustawić PROP_PDF_OUTPUT_TEXT_VISIBLE na "false". Obsługiwane są zarówno normalne PDF, jak i PDF/A. Proszę zapoznać się z Podsumowaniem Właściwości Asprise OCR. Ustaw format wyjściowy jako OUTPUT_FORMAT_RTF. Następnie możesz wyeksportować pliki .rtf, które można edytować w większości edytorów tekstu (Microsoft Word, Libre Office, TextEdit itd.).
ocr.Recognize("C:\\test-image.png", -1, -1, -1, -1, -1,
Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_RTF,
"PROP_RTF_OUTPUT_FILE=ocr-result.rtf");
ocr.Recognize("C:\\test-image.png", -1, -1, -1, -1, -1,
Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_RTF,
"PROP_RTF_OUTPUT_FILE=ocr-result.rtf");
ocr.Recognize("C:\test-image.png", -1, -1, -1, -1, -1, Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_RTF, "PROP_RTF_OUTPUT_FILE=ocr-result.rtf")
Po zakończeniu OCR możesz przeglądać lub edytować plik RTF za pomocą edytora tekstu:
Użyj następującej metody, aby przeprowadzić OCR na pliku wejściowym PDF:
5.2 Korzystanie z IronOCR
Możemy również używać OCRInput do zarządzania plikami PDF. Każda strona dokumentów zostanie odczytana przez klasę Iron Tesseract. Następnie tekst zostanie wyodrębniony ze stron. Możemy również otwierać chronione dokumenty za pomocą drugiej funkcji o nazwie AddPdf, która pozwala nam dodać pliki PDF do naszej listy dokumentów (hasło, jeśli jest chronione). Poniższy kod pokazuje, jak otworzyć dokument PDF chroniony hasłem:
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
// Add a password protected PDF
Input.AddPdf("example.pdf", "password");
// Read the PDF document
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
// Add a password protected PDF
Input.AddPdf("example.pdf", "password");
// Read the PDF document
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
' Add a password protected PDF
Input.AddPdf("example.pdf", "password")
' Read the PDF document
Dim Result = Ocr.Read(Input)
' Output the recognized text to the console
Console.WriteLine(Result.Text)
End Using
Możemy odczytać i wydobyć zawartość z pojedynczej strony w dokumencie PDF używając AddpdfPage. Tylko numer strony, z której chcemy wyodrębnić tekst, musi być określony. AddPdfPage pozwala nam wydobyć tekst z wielu określonych przez nas stron. W IEnumerable<int> możemy łatwo określić wiele stron. Musimy również uwzględnić lokalizację pliku oraz jego rozszerzenie. Pokazuje to poniższy przykład kodu:
using IronOcr;
using System.Collections.Generic;
IEnumerable<int> numbers = new List<int> {2, 8, 10};
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
// Extract single page
Input.AddPdfPage("example.pdf", 10);
// Extract multiple pages
Input.AddPdfPages("example.pdf", numbers);
// Read the pages and extract content
var Result = Ocr.Read(Input);
// Output the recognized text and save to a text file
Console.WriteLine(Result.Text);
Result.SaveAsTextFile("ocrtext.txt");
}
using IronOcr;
using System.Collections.Generic;
IEnumerable<int> numbers = new List<int> {2, 8, 10};
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
// Extract single page
Input.AddPdfPage("example.pdf", 10);
// Extract multiple pages
Input.AddPdfPages("example.pdf", numbers);
// Read the pages and extract content
var Result = Ocr.Read(Input);
// Output the recognized text and save to a text file
Console.WriteLine(Result.Text);
Result.SaveAsTextFile("ocrtext.txt");
}
Imports IronOcr
Imports System.Collections.Generic
Private numbers As IEnumerable(Of Integer) = New List(Of Integer) From {2, 8, 10}
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
' Extract single page
Input.AddPdfPage("example.pdf", 10)
' Extract multiple pages
Input.AddPdfPages("example.pdf", numbers)
' Read the pages and extract content
Dim Result = Ocr.Read(Input)
' Output the recognized text and save to a text file
Console.WriteLine(Result.Text)
Result.SaveAsTextFile("ocrtext.txt")
End Using
Używając funkcji SaveAsTextFile, możemy zapisać wynik jako plik tekstowy, co umożliwia pobranie pliku do ścieżki katalogu wyjściowego. Możemy również zapisać plik jako plik HTML używając SaveAsHocrFile.
6.0 Inne funkcje
6.1 Korzystanie z Asprise OCR
Asprise OCR posiada dodatkowe opcje takie jak Rysowanie Obszaru Tekstu, Rysowanie Obszaru Obrazu, Rysowanie Obszaru Tabeli, Rysowanie Obszaru Rozpoznawania itd. Wszystko to pomaga użytkownikowi poprawić wydajność OCR. Aplikacja nie tylko przeprowadza OCR, ale również możemy wykonywać operacje takie jak łączenie PDF-ów, dzielenie PDF-ów, edycja PDF-ów itd.
6.2 Korzystanie z IronOCR
IronOCR posiada unikalne funkcje, które pozwalają nam odczytywać kody kreskowe i kody QR ze skanowanych dokumentów. Poniższe kody pokazują, jak możemy odczytać kod kreskowy z podanego obrazu lub dokumentu.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.ReadBarCodes = true;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
// Add an image containing a barcode
Input.AddImage("barcode.gif");
// Read the image to recognize text and barcodes
var Result = Ocr.Read(Input);
// Loop through barcodes and output the value
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
}
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.ReadBarCodes = true;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
// Add an image containing a barcode
Input.AddImage("barcode.gif");
// Read the image to recognize text and barcodes
var Result = Ocr.Read(Input);
// Loop through barcodes and output the value
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
}
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.ReadBarCodes = True
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using Input = New OcrInput()
' Add an image containing a barcode
Input.AddImage("barcode.gif")
' Read the image to recognize text and barcodes
Dim Result = Ocr.Read(Input)
' Loop through barcodes and output the value
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
Next Barcode
End Using
Powyższy kod służy do odczytu BARCODE'a z podanego obrazu lub dokumentu PDF. Może odczytać więcej niż jeden kod kreskowy z strony/obrazu. Aby odczytać kod kreskowy, IronOCR ma unikalne ustawienie, Ocr.Configuration.ReadBarCodes, które pomaga odczytać kod kreskowy. Wartość domyślna jest ustawiona na false.
Po przeczytaniu danych wejściowych dane zostaną zapisane w obiekcie o nazwie OCRResult. To ma właściwość o nazwie Kody kreskowe, i będzie miało wszystkie dostępne dane kodów kreskowych na liście. Używając pętli for-each, możemy uzyskać wszystkie szczegóły dotyczące kodów kreskowych jeden po drugim. Ponadto skanuje BarCode i odczytuje jego wartość — dwie operacje wykonywane w ramach jednego procesu.
Będzie to również wspierać opcje wątków. Możemy przeprowadzać wiele procesów OCR jednocześnie. IronOCR jest również w stanie rozpoznać określony obszar z wyznaczonego regionu.
using IronOcr;
using System.Drawing;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
// Define the area to recognize text
var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Add the document with the specified content area
Input.Add("document.png", ContentArea);
// Perform OCR on the specified region
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
}
using IronOcr;
using System.Drawing;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
// Define the area to recognize text
var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Add the document with the specified content area
Input.Add("document.png", ContentArea);
// Perform OCR on the specified region
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
}
Imports IronOcr
Imports System.Drawing
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
' Define the area to recognize text
Dim ContentArea = New Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
' Add the document with the specified content area
Input.Add("document.png", ContentArea)
' Perform OCR on the specified region
Dim Result = Ocr.Read(Input)
' Output the recognized text to the console
Console.WriteLine(Result.Text)
End Using
Powyżej znajduje się przykładowy kod służący do przeprowadzenia OCR w określonym obszarze. Musimy jedynie określić prostokątny obszar na obrazie lub w PDF. Silnik Tesseract w IronOCR pomaga nam rozpoznawać tekst.
7.0 Modele licencjonowania i ceny IronOCR i Asprise OCR
Modele licencjonowania i ceny IronOCR
30-dniowa gwarancja zwrotu pieniędzy: kiedy licencja zostanie zakupiona, otrzymasz 30 dni na zwrot pieniędzy, jeśli licencja nie zadziała.
Łatwe wdrażanie: integracja IronOCR z projektem i środowiskiem jest tak łatwa, że można to zrobić, pisząc tylko jedną linię kodu i dodając ją z pakietu NuGet. Możemy też pobrać go z sieci i w ten sposób zintegrować z naszym środowiskiem.
Licencjonowanie wieczyste: każda licencja jest kupowana raz i nie wymaga odnowienia.
Bezpłatne wsparcie i aktualizacje produktu: każda licencja obejmuje rok darmowych aktualizacji produktu i wsparcia od zespołu za produktem. Rozszerzenia można kupić w dowolnym momencie. Rozszerzenia można wyświetlić.
Natyczne licencje: zarejestrowane klucze licencyjne są wysyłane natychmiast po otrzymaniu płatności.
Wszystkie licencje są bezterminowe i mają zastosowanie do środowisk programistycznych, testowych i produkcyjnych.
Licencja Lite:
- 1 deweloper
- 1 lokalizacja
- 1 projekt
- Licencja wieczysta
Ten pakiet pozwala jednemu deweloperowi oprogramowania w organizacji używać Iron Software w jednym miejscu. Oprogramowanie Iron Software może być używane w pojedynczej aplikacji internetowej, aplikacji intranetowej lub programie komputerowym. Licencje są niezbywalne i nie mogą być udostępniane poza organizację lub relację agencji/klienta. Ten typ licencji, podobnie jak wszystkie inne typy licencji, wyraźnie wyklucza wszystkie prawa, których wyraźnie nie nadano na mocy umowy, bez redystrybucji OEM i korzystania z Iron Software jako SaaS bez wykupienia dodatkowego pokrycia.
Ceny: zaczynają się od $999 rocznie.
Licencja Professional:
- 10 programistów
- 10 lokalizacji
- 10 projektów
- Licencja wieczysta
Ten pakiet pozwala określonej liczbie deweloperów oprogramowania w organizacji używać Iron Software w pojedycznych lokalizacjach, do maksymalnie dziesięciu. Oprogramowanie Iron Software może być używane na dowolnej liczbie stron internetowych, w aplikacjach intranetowych lub aplikacjach desktopowych. Licencje są nieprzenoszalne i nie można ich udostępniać poza organizacją lub relacją agencja/klient. Ten typ licencji, podobnie jak wszystkie inne typy licencji, wyraźnie wyklucza wszelkie prawa, które nie zostały wyraźnie przyznane w Niniejszej umowie, w tym redystrybucję OEM oraz wykorzystywanie oprogramowania Iron Software jako SaaS bez zakupu dodatkowego ubezpieczenia. Licencja ta może zostać zintegrowana z jednym projektem, maksymalnie do 10.
Cena: Zaczyna się od $999 rocznie.
Licencja Unlimited:
- Nieograniczona liczba programistów
- Nieograniczona liczba lokalizacji
- Nieograniczona liczba projektów
- Licencja wieczysta
Dzięki temu nieograniczona liczba programistów w organizacji może korzystać z oprogramowania Iron Software w nieograniczonej liczbie lokalizacji. Oprogramowanie Iron Software może być używane na dowolnej liczbie stron internetowych, w aplikacjach intranetowych lub aplikacjach desktopowych. Licencje są nieprzenoszalne i nie można ich udostępniać poza organizacją lub relacją agencja/klient. Ten typ licencji, podobnie jak wszystkie inne typy licencji, wyraźnie wyklucza wszelkie prawa, które nie zostały wyraźnie przyznane w Niniejszej umowie, w tym redystrybucję OEM oraz wykorzystywanie oprogramowania Iron Software jako SaaS bez zakupu dodatkowego ubezpieczenia.
Ceny: zaczynają się od $2,999 rocznie.
Redystrybucja bez opłat licencyjnych: Umożliwia to dystrybucję oprogramowania Iron Software jako części wielu różnie pakowanych produktów komercyjnych (bez konieczności płacenia opłat licencyjnych) w oparciu o liczbę projektów objętych licencją podstawową. Umożliwia wdrożenie oprogramowania Iron Software w ramach usług SaaS, w oparciu o liczbę projektów objętych licencją podstawową.
Ceny: Zaczynają się od $1,599 rocznie.
Asprise OCR - modele licencyjne i ceny
Licencja Lite:
- Nieograniczona liczba użytkowników końcowych
- Rozpoznawanie tekstu Odczytywanie kodów kreskowych 1D: UPC, EAN, Code39, Code128 Wyjście tekstu, XML i PDF Łatwe wdrażanie Obslugiwane tylko 2 systemy operacyjne
- Miejsca 1
- Wsparcie: Nie
Ceny: zaczynają się od $9998 rocznie.
Licencja Standardowa:
- Nieograniczona liczba użytkowników końcowych
- BMP, GIF, PNG, JPEG, TIFF i PDF wejściowe.
- Rozpoznawanie tekstu Odczytywanie kodów kreskowych 1D: UPC, EAN, Code39, Code128
- Odczytaj niektóre 2D: tylko QR i Data Matrix Wyjście tekstu, XML i PDF Łatwe wdrażanie
- Wsparcie: Nie
Ceny: Zaczynają się od $7,998 rocznie.
Licencja Enterprise:
- Nieograniczona liczba użytkowników końcowych
- BMP, GIF, PNG, JPEG, TIFF i PDF wejściowe.
- Rozpoznawanie tekstu Odczytywanie kodów kreskowych 1D: UPC, EAN, Code39, Code128
-
2D: QR, PDF 417, Data Matrix & Aztec Wyjście tekstu, XML i PDF Łatwe wdrażanie
- Wielowątkowość, wieloprocesorowość
Ceny: zaczynają się od $12,998.
IronOCR Lite zawierający pakiet dla jednego dewelopera z rocznym wsparciem kosztuje około $999, podczas gdy Asprise Lite zawierający pakiet dla jednego dewelopera kosztuje $9998 bez wsparcia technicznego, a $6,296 z płatnym wsparciem technicznym. Licencja Professional dla IronOCR zawierająca pakiet dla 10 deweloperów z rocznym wsparciem technicznym kosztuje $999, podczas gdy równoważna licencja Asprise zawierająca pakiet dla 10 deweloperów kosztuje $37,998 rocznie bez wsparcia technicznego, ale z płatnymi wydań i aktualizacjami technicznymi plus wsparcie na jeden rok, kosztuje $46,999.00.
Pakiety IronOCR Lite i Professional obejmują usługę SaaS lub licencję OEM oraz opcję 5-letniego wsparcia technicznego. Wersja Lite, w tym jeden pakiet dewelopera z 5-letnim wsparciem oraz wsparciem SaaS i OEM, kosztuje 2 897 USD, podczas gdy Asprise oferuje usługi SaaS lub OEM oraz opcje dostosowanego wsparcia. Wersja Professional IronOCR zawiera pakiet dla 10 deweloperów z płatnym wsparciem przez jeden rok oraz z usługami SaaS i OEM, kosztuje $3397, natomiast wersja Asprise z pakietem dla 10 deweloperów bez wsparcia na 1 rok i z usługami SaaS i OEM, kosztuje $59,996.
8.0 Podsumowanie
W kontekscie .NET Framework, IronOCR dostarcza Tesseract, ktory jest prosty i latwy w uzyciu. Obsługuje zdjęcia i dokumenty PDF na wiele różnych sposobów. Zapewnia również szereg ustawień służących poprawie wydajności biblioteki OCR Tesseract. Obsługiwanych jest wiele języków, a także wiele języków w ramach jednej operacji. Aby dowiedzieć się więcej o Tesseract OCR, odwiedź ich stronę internetową.
Asprise to aplikacja programowa, która wykorzystuje silnik sztucznej inteligencji do rozpoznawania obrazów i dokumentów PDF. Oferuje również różne ustawienia pozwalające poprawić wydajność procesu OCR. Ponadto oferuje możliwość wyboru wielu języków. Asprise ma pewne ograniczenia dotyczące wykorzystania konwersji stron. Ceny różnią się w zależności od systemu operacyjnego.
Pakiety IronOCR zapewniają lepszą licencję i wsparcie w porównaniu do Asprise. Asprise OCR ma spersonalizowane i narzucone pakiety, które są droższe. IronOCR zaczyna się od $999, podczas gdy Asprise OCR od $9994 rocznie, więc nasz produkt jest bardziej opłacalny, oferując jednocześnie więcej funkcji niż Asprise. Wspiera także wiele platform w jednej cenie.
Na co więc czekasz? Bezpłatna wersja próbna jest dostępna dla wszystkich. Możesz uzyskać Licencję tutaj i rozpocząć od razu.
Często Zadawane Pytania
Czym jest optyczne rozpoznawanie znaków?
Optyczne rozpoznawanie znaków (OCR) to technologia służąca do konwersji różnych typów dokumentów, takich jak zeskanowane dokumenty papierowe, pliki PDF lub zdjęcia wykonane aparatem cyfrowym, na dane edytowalne i przeszukiwalne. Narzędzia takie jak IronOCR służą do wykonywania OCR poprzez konwersję obrazów tekstu na rzeczywiste dane tekstowe.
Jak mogę przekonwertować obrazy na tekst przy użyciu języka C#?
IronOCR zapewnia solidne rozwiązanie do konwersji obrazów na tekst w języku C#. Możesz wykorzystać jego potężne możliwości OCR do przetwarzania plików graficznych i wyodrębniania tekstu, nawet z obrazów o niskiej jakości, przy użyciu silnika Tesseract 5.
Jakie formaty obsługuje IronOCR w operacjach OCR?
IronOCR obsługuje szeroki zakres formatów do operacji OCR, w tym JPEG, PNG, GIF, BMP, TIFF i PDF. Obsługuje również dokumenty wielostronicowe oraz pliki PDF chronione hasłem.
Jak zainstalować IronOCR w moim projekcie C#?
Możesz zainstalować IronOCR w swoim projekcie C# za pomocą menedżera pakietów NuGet w Visual Studio. Alternatywnie możesz użyć wiersza poleceń z poleceniem Install-Package IronOCR lub pobrać go bezpośrednio ze strony internetowej IronOCR.
Jakie są zalety korzystania z IronOCR w porównaniu z innymi bibliotekami OCR?
IronOCR oferuje obszerną obsługę języków, doskonałą wydajność przy obrazach niskiej jakości oraz funkcje takie jak rozpoznawanie kodów BarCode i kodów QR. Zapewnia opłacalne licencjonowanie i obsługuje wiele platform w ramach jednej ceny, co czyni go wszechstronnym wyborem dla programistów.
Czy IronOCR obsługuje dokumenty wielostronicowe?
Tak, IronOCR może przetwarzać dokumenty wielostronicowe, w tym pliki TIFF i PDF, skutecznie wyodrębniając tekst z każdej strony. Jest to szczególnie przydatne w przypadku obsługi dużych dokumentów lub przetwarzania wsadowego.
Jakie opcje licencyjne są dostępne dla IronOCR?
IronOCR oferuje elastyczne, wieczyste opcje licencyjne, w tym licencje Lite, Professional i Unlimited. Licencje te są bez opłat licencyjnych i obsługują usługi SaaS oraz OEM, dzięki czemu nadają się do różnych scenariuszy wdrożeniowych.
Jak IronOCR radzi sobie z ekstrakcją tekstu z obrazów o niskiej jakości?
IronOCR wyróżnia się w pozyskiwaniu tekstu z obrazów o niskiej jakości dzięki wykorzystaniu zaawansowanych technik przetwarzania wstępnego w celu poprawy jakości obrazu przed wykonaniem OCR. Znacznie poprawia to dokładność rozpoznawania tekstu.

