Porównanie pomiędzy IronOCR a Syncfusion OCR
W niniejszym artykułe porównamy dwie biblioteki oprogramowania, które wykorzystują optyczne rozpoznawanie znaków (OCR) do automatycznego wykrywania i wyodrębniania tekstu drukowanego z obrazów oraz ze skanowanych dokumentów. Najpierw omówimy funkcje obu bibliotek. Następnie przeanalizujemy i porównamy ich możliwości rozpoznawania i ekstrakcji tekstu, korzystając z przykładowego kodu źródłowego wygenerowanego przy użyciu obu bibliotek. Na koniec porównamy licencje i ceny bibliotek.
Biblioteki, które porównamy w tym artykułe, to:
- IronOCR
- Syncfusion Essential PDF
1. Syncfusion OCR
Biblioteka Essential PDF firmy Syncfusion zawiera funkcję OCR, która umożliwia przetwarzanie tekstu na skanowanych obrazach w dokumentach PDF.
Procesor OCR firmy Syncfusion może współpracować z wersjami Tesseract 3 (3.02 i 3.05) oraz 4. Bibliotekę można dołączyć do aplikacji .NET Core i ASP.NET.
Funkcje OCR w Syncfusion Essential PDF obejmują:
- Wykonywanie zadań OCR na dokumentach PDF. Klasa
OCRProcessorbiblioteki może być używana do wykonywania OCR na plikach PDF. Oparty jest na procesorze danych Tesseract, znanym jako jeden z najlepszych procesorów OCR na świecie. - Wykonywanie zadań OCR na fragmentach dokumentów PDF. Użytkownicy mogą przeprowadzać OCR na określonych stronach lub obszarach dokumentu PDF.
- Wykonywanie zadań OCR na obrazach. Użytkownicy mogą wyodrębniać dane tekstowe z obrazów w celu zaimportowania ich do innych aplikacji.
- Obsługa wielu języków. Silnik Google Tesseract (a co za tym idzie, Syncfusion) obsługuje obecnie ponad 60 języków i prowadzi testy w zakresie wielu innych.
- Dobra dokładność. Wykorzystując silnik open source Tesseract firmy Google, Syncfusion Essential PDF osiąga bardzo dobrą dokładność tekstu, wykonując OCR w rozsądnym czasie.
2. IronOCR
IronOCR to biblioteka oprogramowania w języku C#, która umożliwia programistom platformy .NET rozpoznawanie i odczytywanie tekstu ze zdjęć i dokumentów PDF. Jest to biblioteka OCR przeznaczona wyłącznie dla platformy .NET, wykorzystująca potężny silnik Tesseract. Wersje Tesseract 3–5 działają od razu po instalacji w systemach Windows, macOS, Linux, Azure, AWS, Lambda, Mono i Xamarin Mac.
IronOCR obsługuje więcej języków niż jakikolwiek inny dostępny silnik OCR, obsługując 125 języków (domyślnie zainstalowany jest tylko angielski).
Programiści .NET mają pełną kontrolę nad swoimi dokumentami i mogą je modyfikować według własnego uznania.
2.1. Funkcje IronOCR
IronOCR oferuje unikalne połączenie możliwości i funkcji służących do integracji, podpisywania, eksportowania, odczytywania obrazów oraz wyodrębniania szczegółów ze zdjęć, niezależnie od wiedzy technicznej użytkownika czy zaawansowania sprzętu.
2.1.1. Dokładność
IronOCR SDK przewyższa inne biblioteki OCR pod względem dokładności, osiągając wynik na poziomie 99,8 procent.
2.1.2. Poprawianie skanów i obrazów o niskiej jakości
Klasa IronOCR zapewnia programistom C# szerokie możliwości kontroli. Zapewnia programistom funkcjonalność OCR (przetwarzanie obrazów i plików PDF na tekst) oraz precyzyjnie dostrojoną wydajność w każdym konkretnym przypadku.
IronOCR zawiera opcje konfiguracyjne, które umożliwiają bibliotece przetwarzanie obrazów o nieidealnej jakości. Niektóre z tych ustawień to: Usuwanie szumu tła, Wzmocnienie kontrastu, Wzmocnienie rozdzielczości, Język, Strategia, Obrót i prostowanie, Przestrzeń kolorów, Wykrywanie białego tekstu na ciemnym tle oraz Typ obrazu wejściowego.
2.1.3. Języki
IronOCR obsługuje ponad 125 języków międzynarodowych.
2.1.4. Wyodrębnianie tekstu za pomocą OCR
Iron Tesseract może odczytywać kilka formatów obrazów, a także pliki PDF. Ta funkcja nie jest dostępna w standardowych, bezpłatnych silnikach Tesseract. Jeśli skany są niskiej jakości, funkcja OCR pozwala automatycznie poprawić wymagańe atrybuty.
2.1.5. Filtry optymalizacji obrazów
Klasa OCRInput zapewnia programistom C# precyzyjną kontrolę nad danymi wejściowymi. Dane wejściowe w postaci obrazów są następnie przetwarzane wstępnie przez programistów w celu zapewnienia szybkości i dokładności. Eliminuje to konieczność używania skryptów wsadowych programu Photoshop lub ImageMagick do przygotowywania zdjęć przed przetwarzaniem OCR.
2.1.6. Obszar OCR obrazu
IronOCR umożliwia użytkownikom końcowym przeprowadzanie OCR na określonych obszarach obrazu.
2.1.7. Klasa OCRResult
IronOCR zwraca zaawansowany obiekt wynikowy dla każdej strony, którą skanuje przy użyciu Tesseract 3, 4 lub 5. Zawiera on dane lokalizacyjne, obrazy, tekst, statystyczną pewność, alternatywne wybory symboli, nazwy czcionek, rozmiary czcionek, dekoracje, grubości czcionek oraz pozycję dla każdego z poniższych elementów:
- Strony
- Akapity
- Liczba wierszy tekstu
- Słowa
- Poszczególne znaki
- Kody kreskowe
2.1.8. Wiele języków w jednym dokumencie
IronOCR pozwala programistom na używanie wielu języków w jednym dokumencie. Ta funkcja jest niezwykle przydatna dla dostawców usług .NET.
3. Rozpoczynanie nowego projektu w Visual Studio
W tym artykułe wykorzystamy nową aplikację konsolową Visual Studio, aby zademonstrować możliwości przetwarzania OCR zarówno IronOCR, jak i Syncfusion Essential PDF.
Otwórz oprogramowanie Visual Studio, przejdź do menu Plik i wybierz opcję Nowy projekt. Następnie wybierz opcję Aplikacja konsolowa.
Wpisz nazwę projektu i wybierz ścieżkę w odpowiednim polu tekstowym. Następnie kliknij przycisk "Utwórz", a potem wybierz wymagańy .NET Framework, tak jak na poniższym zrzucie ekranu:
Projekt Visual Studio wygeneruje teraz strukturę nowej aplikacji konsolowej. Plik program.cs zostanie otwarty po zakończeniu.
Teraz dodamy obie biblioteki do projektu.
4. Zainstaluj bibliotekę IronOCR
Bibliotekę IronOCR można pobrać i zainstalować na cztery sposoby. Są to:
- Korzystanie z menedżera pakietów NuGet w Visual Studio
- Bezpośrednie pobranie ze strony NuGet.
- Bezpośrednie pobranie ze strony internetowej IronOCR.
- Korzystanie z wiersza poleceń programu Visual Studio.
4.1. Korzystanie z menedżera NuGet w Visual Studio
Możesz zintegrować IronOCR z projektem C# za pomocą menedżera pakietów NuGet w Visual Studio.
Aby uzyskać dostęp do interfejsu graficznego menedżera pakietów NuGet, kliknij Narzędzia > Menedżer pakietów NuGet > Zarządzaj pakietami NuGet dla rozwiązań...
Następnie pojawi się nowe okno. Wyszukaj IronOCR i zainstaluj pakiet w projekcie.
Dodatkowe pakiety językowe dla IronOCR można również zainstalować, korzystając z tej samej metody, co powyżej.
4.2. Bezpośrednie pobieranie ze strony internetowej NuGet
IronOCR można pobrać bezpośrednio ze strony NuGet, postępując zgodnie z poniższymi instrukcjami:
- Navigate to the IronPDF NuGet Gallery Page.
- Wybierz opcję pakietu do pobrania z menu po prawej stronie.
- Kliknij dwukrotnie pobrany pakiet. Zostanie zainstalowany automatycznie.
4.3. Bezpośrednie pobieranie ze strony internetowej IronOCR
Programiści mogą pobrać bibliotekę IronOCR ze strony internetowej IronOCR i dodać ją jako odwołanie do projektu.
Postępuj zgodnie z poniższymi instrukcjami, aby dodać bibliotekę jako odniesienie w Visual Studio.
- Kliknij prawym przyciskiem myszy projekt w oknie rozwiązania.
- Następnie wybierz opcję Dodaj odwołanie do projektu i przejdź do lokalizacji pobranego odwołania.
- Następnie kliknij OK, aby dodać odwołanie.
4.4. 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.
- Wpisz następujący wiersz w zakładce konsoli menedżera pakietów:
Install-Package IronOcr
Pakiet zostanie teraz pobrany/zainstalowany w bieżącym projekcie i będzie gotowy do użycia.
5. Zainstaluj bibliotekę Syncfusion Essential PDF OCR
Syncfusion Essential PDF można zainstalować na trzy różne sposoby.
- Korzystanie z menedżera pakietów NuGet w Visual Studio
- Bezpośrednie pobranie ze strony NuGet.
- Korzystanie z wiersza poleceń programu Visual Studio.
5.1. Korzystanie z menedżera NuGet w Visual Studio
Podobnie jak w przypadku IronOCR, programiści mogą również zainstalować bibliotekę OCR firmy Syncfusion za pomocą menedżera pakietów NuGet w Visual Studio.
Uzyskaj dostęp do menedżera pakietów tak jak poprzednio, klikając Narzędzia > Menedżer pakietów NuGet > Zarządzaj pakietami NuGet dla rozwiązań...
Wyszukaj Syncfusion OCR i zainstaluj odpowiedni pakiet (powinien to być Syncfusion.PDF.OCR.Net.Core).
Additional language packs for SyncFusion Essential PDF OCR can be downloaded from GitHub.
5.2. Bezpośrednie pobieranie ze strony internetowej NuGet
Syncfusion Essential PDF OCR można pobrać bezpośrednio ze strony NuGet, postępując zgodnie z poniższymi instrukcjami:
- Navigate to the package's NuGet Gallery page.
- 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.
5.3. 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.
- Wpisz następujący wiersz w zakładce konsoli menedżera pakietów:
Install-Package Syncfusion.PDF.OCR.Net.Core -Version 20.2.0.38
Pakiet zostanie teraz pobrany/zainstalowany w bieżącym projekcie i będzie gotowy do użycia.
6. Przeprowadź rozpoznawanie optyczne (OCR) dokumentu PDF
Zarówno IronOCR, jak i Syncfusion OCR umożliwiają przeprowadzanie rozpoznawania optycznego (OCR) dokumentów PDF. W tym miejscu omówimy, w jaki sposób można z nich korzystać w Visual Studio.
6.1. Wyodrębnianie tekstu z plików PDF za pomocą IronOCR
Za pomocą zaledwie kilku wierszy kodu programiści mogą przeprowadzić OCR na całym pliku PDF lub na określonych stronach/fragmentach pliku PDF. Rozważ poniższy fragment kodu.
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
// Add a PDF document and specify a password if needed
Input.AddPdf("example.pdf", "password");
// Read the textual content from the PDF
var Result = Ocr.Read(Input);
// Display the text in the console
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
// Add a PDF document and specify a password if needed
Input.AddPdf("example.pdf", "password");
// Read the textual content from the PDF
var Result = Ocr.Read(Input);
// Display the text in the console
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
' Add a PDF document and specify a password if needed
Input.AddPdf("example.pdf", "password")
' Read the textual content from the PDF
Dim Result = Ocr.Read(Input)
' Display the text in the console
Console.WriteLine(Result.Text)
End Using
6.2. Wyodrębnianie tekstu z plików PDF za pomocą funkcji OCR w Syncfusion Essential PDF OCR
Możesz użyć klasy OCRProcessor do przeprowadzenia OCR na dokumentach PDF, a także na wybranych obszarach dokumentu. Zapoznaj się z poniższym fragmentem kodu, aby zrozumieć kontekst.
using Syncfusion.OCRProcessor;
using Syncfusion.Pdf.Parsing;
// Initialize the OCR processor
using (OCRProcessor processor = new OCRProcessor(@"TesseractBinaries\"))
{
// Load the input PDF document
PdfLoadedDocument lDoc = new PdfLoadedDocument("Input.pdf");
// Set the OCR language
processor.Settings.Language = Languages.English;
// Perform OCR on the loaded PDF
processor.PerformOCR(lDoc, @"TessData\");
// Save the processed PDF
lDoc.Save("Sample.pdf");
// Close the document
lDoc.Close(true);
}
using Syncfusion.OCRProcessor;
using Syncfusion.Pdf.Parsing;
// Initialize the OCR processor
using (OCRProcessor processor = new OCRProcessor(@"TesseractBinaries\"))
{
// Load the input PDF document
PdfLoadedDocument lDoc = new PdfLoadedDocument("Input.pdf");
// Set the OCR language
processor.Settings.Language = Languages.English;
// Perform OCR on the loaded PDF
processor.PerformOCR(lDoc, @"TessData\");
// Save the processed PDF
lDoc.Save("Sample.pdf");
// Close the document
lDoc.Close(true);
}
Imports Syncfusion.OCRProcessor
Imports Syncfusion.Pdf.Parsing
' Initialize the OCR processor
Using processor As New OCRProcessor("TesseractBinaries\")
' Load the input PDF document
Dim lDoc As New PdfLoadedDocument("Input.pdf")
' Set the OCR language
processor.Settings.Language = Languages.English
' Perform OCR on the loaded PDF
processor.PerformOCR(lDoc, "TessData\")
' Save the processed PDF
lDoc.Save("Sample.pdf")
' Close the document
lDoc.Close(True)
End Using
7. Przeprowadź OCR na obrazach
Obie biblioteki mogą wykonywać OCR na obrazach w aplikacjach C#.NET i .NET Core.
7.1. Wykonywanie OCR na obrazach przy użyciu IronOCR
IronOCR wyróżnia się możliwością automatycznego wykrywania i odczytywania tekstu z niedoskonale zeskanowanych obrazów przy użyciu zaledwie dwóch linii kodu.
using IronOcr;
// Perform OCR and read text from the specified image
var Result = new IronTesseract().Read(@"images\11111.png").Text;
using IronOcr;
// Perform OCR and read text from the specified image
var Result = new IronTesseract().Read(@"images\11111.png").Text;
Imports IronOcr
' Perform OCR and read text from the specified image
Private Result = (New IronTesseract()).Read("images\11111.png").Text
Obraz wejściowy OCR
OCR OUTPUT from IMAGE
OCR Output
Simple Data Outputs:
» NET Text Strings
» Barcode & QR Data & Images
Structured Data Outputs:
» Pages
» Blocks
» Paragraphs
» Lines
» Words
» Characters
Export Documents:
» Searchable PDFs
» hOCR / HTML Export
» Images of any Page, Text Element or Barcode
7.2. Przeprowadź OCR na obrazie przy użyciu procesora OCR Syncfusion Essential PDF
Syncfusion Essential PDF umożliwia wyodrębnianie tekstu z obrazów z dużą dokładnością.
using System.Drawing;
using Syncfusion.OCRProcessor;
// Initialize the OCR processor
using (OCRProcessor processor = new OCRProcessor(@"TesseractBinaries\"))
{
// Load the input image
Bitmap image = new Bitmap("11111.jpeg");
// Set the OCR language
processor.Settings.Language = Languages.English;
// Perform OCR on the loaded image
string ocrText = processor.PerformOCR(image, @"TessData\");
}
using System.Drawing;
using Syncfusion.OCRProcessor;
// Initialize the OCR processor
using (OCRProcessor processor = new OCRProcessor(@"TesseractBinaries\"))
{
// Load the input image
Bitmap image = new Bitmap("11111.jpeg");
// Set the OCR language
processor.Settings.Language = Languages.English;
// Perform OCR on the loaded image
string ocrText = processor.PerformOCR(image, @"TessData\");
}
Imports System.Drawing
Imports Syncfusion.OCRProcessor
' Initialize the OCR processor
Using processor As New OCRProcessor("TesseractBinaries\")
' Load the input image
Dim image As New Bitmap("11111.jpeg")
' Set the OCR language
processor.Settings.Language = Languages.English
' Perform OCR on the loaded image
Dim ocrText As String = processor.PerformOCR(image, "TessData\")
End Using
Obraz wejściowy OCR
OCR OUTPUT from IMAGE
OCR Output
Simple Data Output:
+ NET Text Strings
Dee eT Nd
tC eke ass
Biren)
Soy
Seg
ors
eae
eed
TLC
eres
Smt d
See amr'
etd ieot
8. Licencjonowanie
Korzystanie zarówno z IronOCR, jak i Syncfusion Essential PDF wymaga licencji na oprogramowanie.
8.1. Licencjonowanie IronOCR
IronOCR posiada bezpłatną licencję deweloperską na projekty osobiste, niekomercyjne.
IronOCR oferuje odrębną strukturę cenową dla licencji komercyjnych. Pakiet Lite zaczyna się od $799 bez dodatkowych kosztów. Wszystkie licencje obejmują 30-dniową gwarancję zwrotu pieniędzy, roczną pomoc techniczną i aktualizacje oprogramowania, rozwój, testowanie, wdrożenie, ważność produkcyjną oraz Licencję wieczystą (jednorazowy zakup). Więcej informacji na temat pełnej struktury cenowej i licencji IronOCR można znaleźć na tej stronie.
Za jednorazową opłatą w wysokości $1,599 można uzyskać prawo do redystrybucji bez opłat licencyjnych produktów SaaS i OEM.
8.2. Licencjonowanie Syncfusion Essential PDF
Syncfusion Essential PDF oferuje trzy rodzaje licencji dla programistów, ale nie obejmuje modeli SaaS i OEM.
- Licencja Community. Licencja Community jest bezpłatna dla programistów i małych firm zatrudniających do 5 programistów. Obejmuje to również wsparcie na żywo.
- Licencja detaliczna. Licencja detaliczna jest licencją roczną, którą należy nabyć oddzielnie dla każdego programisty w organizacji. Ceny licencji detalicznych zaczynają się od $995 rocznie na programistę.
- Unlimited License. Ta opcja zapewnia licencje dla całej organizacji na tej samej podstawie rocznej, ale za niższą cenę.
View the entire licensing structure for Syncfusion Essential PDF (and for other Syncfusion components) on the product licensing page.
9. Podsumowanie
IronOCR obsługuje łącznie około 125 języków z całego świata. Jego możliwości przetwarzania obejmują: możliwość wykonywania OCR na fragmentach dokumentu PDF lub obrazu, możliwość wyodrębniania tekstu z plików PDF i zdjęć oraz możliwość poprawiania obrazów o niskiej jakości, a także wiele innych. IronOCR stawia na szybkość i dokładność. Jego wskaźnik dokładności wynoszący 99,8 procent jest wyższy niż w przypadku jakiejkolwiek innej biblioteki OCR opartej na Tesseract dostępnej na rynku. IronOCR działa od razu po uruchomieniu, bez konieczności dostosowywania wydajności lub wstępnego przetwarzania obrazów.
Syncfusion Essential PDF OCR wykorzystuje również silnik Tesseract firmy Google, dostępny na licencji open source. Może on przeprowadzać OCR całych dokumentów lub ich określonych fragmentów. Biblioteka OCR firmy Syncfusion obsługuje ponad 60 języków międzynarodowych.
Licencje IronOCR są ważne przez cały okres użytkowania i obejmują nieograniczone wsparcie techniczne oraz obsługę modeli SaaS i OEM. Z drugiej strony, Syncfusion Essential PDF OCR oferuje licencje roczne. Ceny IronOCR zaczynają się od $799, a ceny Syncfusion od $995 rocznie.
Kup pełny pakiet Iron Suite, aby otrzymać IronOCR wraz z czterema innymi produktami Iron Software w obniżonej cenie. Produkty wchodzące w skład pakietu Iron Suite to:
- IronPDF
- IronOCR
- IronXL
- IronBarcode
- IronWebscraper
Strona licencyjna Iron Software zawiera bardziej szczegółowe informacje na temat cen i licencji dla powyższych pięciu produktów.
Często Zadawane Pytania
Jak mogę wykonać OCR na obrazach przy użyciu języka C#?
Możesz użyć IronOCR do OCR na obrazach w języku C#. Zapewnia on metody wyodrębniania tekstu z różnych formatów obrazów z dużą dokładnością i obsługuje ponad 125 języków.
Jakie są zalety korzystania z IronOCR do zadań OCR?
IronOCR oferuje doskonałą dokładność na poziomie 99,8%, obsługuje OCR w określonych obszarach dokumentu, posiada funkcje optymalizacji obrazu dla skanów o niskiej jakości oraz obsługuje szeroki zakres języków.
Jak IronOCR wypada w porównaniu z funkcjami OCR firmy Syncfusion?
Chociaż oba rozwiązania wykorzystują silnik Tesseract, IronOCR obsługuje więcej wersji (3–5) i języków (ponad 125), oferuje większą dokładność oraz zapewnia ulepszone możliwości korekcji obrazu w porównaniu z OCR firmy Syncfusion.
Jakie opcje licencyjne są dostępne dla IronOCR?
IronOCR oferuje bezpłatną licencję deweloperską do użytku osobistego, a licencje komercyjne są dostępne już od jednorazowej opłaty w wysokości 1599 USD, obejmującej Licencję wieczystą oraz obsługę SaaS/OEM.
Czy mogę używać IronOCR do wyodrębniania tekstu ze skanowanych dokumentów PDF?
Tak, IronOCR może wyodrębniać tekst ze skanowanych dokumentów PDF, korzystając z funkcji OCR opartych na Tesseract, zapewniając wysoką dokładność i obsługę wielu języków.
Jakie platformy są obsługiwane przez IronOCR?
IronOCR jest wszechstronny i obsługuje wiele platform, w tym Windows, macOS, Linux, Azure, AWS, Lambda, Mono i Xamarin Mac.
Jak IronOCR radzi sobie ze skanami obrazów o niskiej jakości?
IronOCR zawiera funkcje poprawiające jakość obrazu, takie jak usuwanie szumów tła, zwiększanie kontrastu i regulacja rozdzielczości, które poprawiają wyniki OCR w przypadku obrazów o niskiej jakości.
Czy za pomocą IronOCR można przeprowadzić OCR na określonych obszarach dokumentu?
Tak, IronOCR pozwala użytkownikom określić konkretne obszary lub strony dokumentu do OCR, zapewniając elastyczność i kontrolę nad procesem wyodrębniania tekstu.
Jak mogę zintegrować IronOCR z projektem .NET?
IronOCR można zintegrować z projektem .NET za pomocą menedżera pakietów NuGet w Visual Studio, ze strony internetowej NuGet lub pobierając go ze strony internetowej IronOCR.



