České OCR v C#a .NET

Další verze tohoto dokumentu:

IronOCR je softwarová součást C #, která umožňuje kodérům .NET číst text z obrázků a dokumentů PDF ve 126 jazycích, včetně češtiny.

Jedná se o vyspělou vidlici Tesseractu, postavenou výhradně pro vývojáře .NET a pravidelně překonává ostatní motory Tesseract z hlediska rychlosti i přesnosti.

Obsah jazyků IronOcr.Czech

Tento balíček obsahuje 40 jazyků OCR pro .NET:

  • čeština
  • CzechBest
  • CzechFast

Stažení

Český jazykový balíček [čeština]
* Download as Zip
* Install with as
https://www.nuget.org/packages/IronOcr.Languages.Czech/'> NuGet

Instalace

První věcí, kterou musíme udělat, je nainstalovat náš český balíček OCR do vašeho projektu .NET.

PM> Install-Package IronOCR.Languages.Czech

Příklad kódu

Tento příklad kódu C#čte český text z obrázku nebo dokumentu PDF.

//PM> Install-Package IronOcr.Languages.Czech
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;
using (var Input = new OcrInput(@"images\Czech.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
//PM> Install-Package IronOcr.Languages.Czech
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;
using (var Input = new OcrInput(@"images\Czech.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
'PM> Install-Package IronOcr.Languages.Czech
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Czech
Using Input = New OcrInput("images\Czech.png")
Dim Result = Ocr.Read(Input)
Dim AllText As Var = Result.Text
End Using
VB   C#

Proč zvolit IronOCR?

IronOCR je snadno instalovatelná, kompletní a dobře zdokumentovaná softwarová knihovna .NET.

Zvolte IronOCR, abyste dosáhli přesnosti 99,8% + OCR bez použití jakýchkoli externích webových služeb, průběžných poplatků nebo zasílání důvěrných dokumentů přes internet.

Proč si vývojáři v C#zvolili IronOCR před Vanilla Tesseract:

  • Nainstalujte jako jednu knihovnu DLL nebo NuGet
  • Obsahuje pro motory Tesseract 5, 4 a 3 z krabice.
  • Přesnost 99,8% významně překonává běžný Tesseract.
  • Blazing Speed a MultiThreading
  • Kompatibilní s aplikacemi MVC, WebApp, Desktop, Console a Server
  • Žádné Exes nebo C ++ kód pro práci
  • Plná podpora OCR PDF
  • Chcete-li provést OCR téměř jakýkoli obrazový soubor nebo PDF
  • Plná podpora .NET Core, Standard a FrameWork
  • Nasadit na Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Přečtěte si čárové kódy a QR kódy
  • Exportujte OCR jako do XHTML
  • Exportujte OCR do prohledávatelných dokumentů PDF
  • Podpora více vláken
  • 126 mezinárodních jazyků, všechny spravovány prostřednictvím souborů NuGet nebo OcrData
  • Extrahujte obrázky, souřadnice, statistiky a písma. Nejen text.
  • Lze použít k redistribuci Tesseract OCR v komerčních a proprietárních aplikacích.

IronOCR svítí, když pracujete se obrázky z reálného světa a nedokonalými dokumenty, jako jsou fotografie, nebo skeny s nízkým rozlišením, které mohou mít digitální šum nebo nedokonalosti.

Jiné bezplatné knihovny OCR pro platformu .NET, jako jsou další rozhraní API a webové služby .NET tesseract, v těchto případech použití v reálném světě nefungují tak dobře.

OCR s Tesseract 5 - Spusťte kódování v C #

Ukázka kódu níže ukazuje, jak snadné je číst text z obrázku pomocí C#nebo VB .NET.

OneLiner

string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
VB   C#

Konfigurovatelný Hello World

// PM> Install-Package IronOCR.Languages.Czech
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... můžete přidat libovolný počet obrázků
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Czech
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... můžete přidat libovolný počet obrázků
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Czech
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Czech
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg") var Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

C#PDF OCR

Stejný přístup lze podobně použít k extrakci textu z libovolného dokumentu PDF.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Můžeme také vybrat konkrétní identifikátory stránek PDF do OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 stránka pro každou stránku PDF
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Můžeme také vybrat konkrétní identifikátory stránek PDF do OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 stránka pro každou stránku PDF
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Czech
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Můžeme také vybrat konkrétní identifikátory stránek PDF do OCR

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 stránka pro každou stránku PDF
End Using
VB   C#

OCR pro vícestránkové soubory TIFF

OCR Čtení formátu souboru TIFF včetně vícestránkových dokumentů. TIFF lze také převést přímo do souboru PDF s prohledávatelným textem.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Czech

Using Input = New OcrInput()
input.AddMultiFrameTiff("multi - frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Čárové kódy a QR

Jedinečnou vlastností aplikace IronOCR je, že dokáže číst čárové kódy a QR kódy z dokumentů při skenování textu. Instance třídy OcrResult.OcrBarcode poskytují vývojáři podrobné informace o každém naskenovaném čárovém kódu.

// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// vlastnosti typu a umístění také vystaveny
}
}
// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// vlastnosti typu a umístění také vystaveny
}
}
' using IronOcr;
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True

Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' vlastnosti typu a umístění také vystaveny
Next Barcode
End Using
VB   C#

OCR na konkrétní oblasti obrázků

Všechny metody skenování a čtení aplikace IronOCR poskytují možnost přesně určit, ze které části stránky nebo stránek chceme text číst. To je velmi užitečné, když se díváme na standardizované formuláře a můžeme ušetřit strašně spoustu času a zlepšit efektivitu.

Chcete-li použít oblasti oříznutí, budeme muset přidat odkaz na systém do System.Drawing , abychom mohli použít objekt System.Drawing.Rectangle .

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Rozměry jsou v pixelech

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Rozměry jsou v pixelech

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Czech

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' Rozměry jsou v pixelech

Input.Add("document.png", ContentArea)

Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

OCR pro skenování nízké kvality

Třída IronOCR OcrInput může opravit skenování, které normální Tesseract neumí přečíst.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // opravuje digitální šum a špatné skenování
Input.Deskew(); // opravuje rotaci a perspektivu
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // opravuje digitální šum a špatné skenování
Input.Deskew(); // opravuje rotaci a perspektivu
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Czech

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' opravuje digitální šum a špatné skenování
Input.Deskew() ' opravuje rotaci a perspektivu
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Exportujte výsledky OCR jako prohledávatelné PDF

Obrázek do PDF s kopírovatelnými textovými řetězci. Lze indexovat pomocí vyhledávačů a databází.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;

using (var Input = new OcrInput()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");

var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;

using (var Input = new OcrInput()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");

var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Czech

Using Input = New OcrInput()
input.Title = "Quarterly Report" input.AddImage("image1.jpeg")
input.AddImage("image2.png")
input.AddImage("image3.gif")

Dim Result = Ocr.Read(input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

Převod TIFF na prohledávatelný PDF

Převeďte dokument TIFF (nebo jakoukoli skupinu obrazových souborů) přímo do prohledávatelného PDF, který lze indexovat pomocí intranetových, webových a vyhledávacích strojů Google.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Czech

Using Input = New OcrInput()
input.AddMultiFrameTiff("example.tiff") var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

Exportujte výsledky OCR jako HTML

Převod obrazu z OCR na XHTML.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Czech
Using Input = New OcrInput()
input.Title = "Html Title" input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(input)
Result.SaveAsHocrFile("results.html")
End Using
VB   C#

Filtry pro vylepšení obrazu OCR

IronOCR poskytuje jedinečné filtry pro objekty OcrInput pro zlepšení výkonu OCR.

Příklad kódu pro vylepšení obrazu

Zvyšuje kvalitu vstupních obrazů OCR a zajišťuje lepší a rychlejší výsledky OCR.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // opravuje digitální šum a špatné skenování
Input.Deskew(); // opravuje rotaci a perspektivu
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // opravuje digitální šum a špatné skenování
Input.Deskew(); // opravuje rotaci a perspektivu
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Czech

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' opravuje digitální šum a špatné skenování
Input.Deskew() ' opravuje rotaci a perspektivu
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Seznam obrazových filtrů OCR

Vstupní filtry pro zvýšení výkonu OCR, které jsou součástí IronOCR, zahrnují:

  • OcrInput.Rotate (dvojité stupně) - Otočí obrázky o několik stupňů ve směru hodinových ručiček. Proti směru hodinových ručiček použijte záporná čísla.
  • OcrInput.Binarize () - Tento obrazový filtr změní každý pixel na černou nebo bílou bez jakékoli střední cesty. Může zlepšit případy výkonu OCR s velmi nízkým kontrastem textu na pozadí.
  • OcrInput.ToGrayScale () - Tento obrazový filtr změní každý pixel na odstín šedé. Je nepravděpodobné, že by zlepšila přesnost OCR, ale může zlepšit rychlost
  • OcrInput.Contrast () - automaticky zvyšuje kontrast. Tento filtr často zlepšuje rychlost a přesnost OCR při skenování s nízkým kontrastem.
  • OcrInput.DeNoise () - Odstraní digitální šum. Tento filtr by měl být použit pouze tam, kde se očekává hluk.
  • OcrInput.Invert () - Invertuje každou barvu. Např. Bílá zčerná: černá zbělá.
  • OcrInput.Dilate () - Advanced Morfhology . Dilatace přidává pixely na hranice objektů v obraze. Naproti Erode
  • OcrInput.Erode () - Advanced Morfhology . Eroze odstraní pixely na hranicích objektů Naproti Dilate
  • OcrInput.Deskew () - Otočí obrázek tak, aby byl správný nahoru a kolmý. To je pro OCR velmi užitečné, protože tolerance Tesseractu pro šikmé skenování může být až 5 stupňů.
  • OcrInput.DeepCleanBackgroundNoise () - těžké odstranění šumu na pozadí. Tento filtr použijte pouze v případě, že je znám extrémní hluk pozadí dokumentu, protože tento filtr také riskuje snížení přesnosti OCR čistých dokumentů a je velmi nákladný na procesor.
  • OcrInput.EnhanceResolution - Vylepšuje rozlišení obrázků nízké kvality. Tento filtr není často nutný, protože OcrInput.MinimumDPI a OcrInput.TargetDPI automaticky zachytí a vyřeší vstupy s nízkým rozlišením.

CleanBackgroundNoise. Toto je nastavení, které je poněkud časově náročné; umožňuje však knihovně automaticky čistit digitální šum, zmačkané papíry a další nedokonalosti digitálního obrazu, které by jinak znemožňovaly čtení jiných knihoven OCR.

EnhanceContrast je nastavení, které způsobí, že aplikace IronOCR automaticky zvyšuje kontrast textu na pozadí obrazu, zvyšuje přesnost OCR a obecně zvyšuje výkon a rychlost OCR.

EnhanceResolution je nastavení, které automaticky detekuje obrázky s nízkým rozlišením (které nedosahují 275 dpi) a automaticky zvětší obraz a poté zaostří veškerý text, aby jej mohl perfektně číst knihovna OCR. I když je tato operace sama o sobě časově náročná, obecně snižuje celkovou dobu operace OCR v obraze.

Jazyk IronOCR podporuje 22 mezinárodních jazykových balíčků a nastavení jazyka lze použít k výběru jednoho nebo více jazyků, které se použijí pro operaci OCR.

Strategy IronOCR podporuje dvě strategie. Můžeme se rozhodnout buď pro rychlé a méně přesné skenování dokumentu, nebo použít pokročilou strategii, která využívá některé modely umělé inteligence k automatickému zlepšení přesnosti textu OCR při pohledu na statistický vztah slov k sobě navzájem ve větě .

ColorSpace je nastavení, při kterém můžeme zvolit OCR ve stupních šedi nebo barvě. Obecně je nejlepší volbou odstíny šedé. Někdy však existují texty nebo pozadí s podobným odstínem, ale s velmi odlišnou barvou, plnobarevný barevný prostor poskytne lepší výsledky.

DetectWhiteTextOnDarkBackgrounds. Obecně všechny knihovny OCR očekávají, že uvidí černý text na bílém pozadí. Toto nastavení umožňuje aplikaci IronOCR automaticky detekovat negativy nebo tmavé stránky s bílým textem a číst je.

InputImageType. Toto nastavení umožňuje vývojáři řídit knihovnu OCR, pokud jde o to, zda se dívá na celý dokument nebo na úryvek, například na snímek obrazovky.

RotateAndStraighten je pokročilé nastavení, které umožňuje aplikaci IronOCR jedinečnou schopnost číst dokumenty, které jsou nejen otočené, ale možná obsahují perspektivu, například fotografie textových dokumentů.

ReadBarcodes je užitečná funkce, která umožňuje IronOCR automaticky číst čárové kódy a QR kódy na stránkách, protože také čte text, aniž by to znamenalo další velkou časovou zátěž.

Barevná hloubka. Toto nastavení určuje, kolik bitů na pixel bude knihovna OCR používat k určení hloubky barvy. Vyšší barevná hloubka může zvýšit kvalitu OCR, ale také zvýší čas potřebný k dokončení operace OCR.

126 jazykových balíčků

IronOCR podporuje 126 mezinárodních jazyků prostřednictvím jazykových balíčků, které jsou distribuovány jako DLL, které lze stáhnout z tohoto webu nebo také z Správce balíčků NuGet .

Mezi jazyky patří němčina, francouzština, angličtina, čínština, japonština a mnoho dalších. Existují speciální jazykové sady pro pasové MRZ, kontroly MICR, finanční údaje, poznávací značky a mnoho dalších. Můžete také použít libovolný soubor tesseract „.traineddata“ - včetně těch, které sami vytvoříte.

Příklad jazyka

Používání dalších jazyků OCR.

// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// V případě potřeby přidejte obrazové filtry
// V tomto případě je i myšlenkový vstup velmi nízké kvality
// IronTesseract dokáže přečíst, co běžný Tesseract neumí.

var Result = Ocr.Read(input);

// Console nemůže snadno tisknout arabštinu ve Windows.
// Místo toho uložme na disk.
Result.SaveAsTextFile("arabic.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// V případě potřeby přidejte obrazové filtry
// V tomto případě je i myšlenkový vstup velmi nízké kvality
// IronTesseract dokáže přečíst, co běžný Tesseract neumí.

var Result = Ocr.Read(input);

// Console nemůže snadno tisknout arabštinu ve Windows.
// Místo toho uložme na disk.
Result.SaveAsTextFile("arabic.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.Arabic

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' V případě potřeby přidejte obrazové filtry
' V tomto případě je i myšlenkový vstup velmi nízké kvality
' IronTesseract dokáže přečíst, co běžný Tesseract neumí.

Dim Result = Ocr.Read(input)

' Console nemůže snadno tisknout arabštinu ve Windows.
' Místo toho uložme na disk.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Vícejazyčný příklad

Je také možné OCR používat více jazyků současně. To může skutečně pomoci získat anglická metadata a adresy URL v dokumentech Unicode.

// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Czech);

// Můžeme přidat libovolný počet jazyků

using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Czech);

// Můžeme přidat libovolný počet jazyků

using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.ChineseSimplified

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Czech)

' Můžeme přidat libovolný počet jazyků

Using input = New OcrInput()
input.Add("multi - language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt")
End Using
VB   C#

Podrobné objekty výsledků OCR

IronOCR vrátí objekt výsledku OCR pro každou operaci OCR. Obecně platí, že vývojáři používají pouze textovou vlastnost tohoto objektu k získání textu naskenovaného z obrázku. Výsledky OCR však DOM je mnohem pokročilejší než toto.

using IronOcr;
using System.Drawing; //Přidat odkaz na sestavu

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Důležité

using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Prozkoumejte zde a vyhledejte rozsáhlé podrobné API:
// - Stránky, bloky, parafafy, čáry, slova, znaky
// - Export obrázku, souřadnice písma, statistické údaje
}
using IronOcr;
using System.Drawing; //Přidat odkaz na sestavu

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Důležité

using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Prozkoumejte zde a vyhledejte rozsáhlé podrobné API:
// - Stránky, bloky, parafafy, čáry, slova, znaky
// - Export obrázku, souřadnice písma, statistické údaje
}
Imports IronOcr
Imports System.Drawing 'Přidat odkaz na sestavu

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Czech
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True '!Důležité

Using Input = New OcrInput("images\sample.tiff")
Dim Result As OcrResult = Ocr.Read(Input)
Dim Pages = Result.Pages
Dim Words = Pages(0).Words
Dim Barcodes = Result.Barcodes
' Prozkoumejte zde a vyhledejte rozsáhlé podrobné API:
' - Stránky, bloky, parafafy, čáry, slova, znaky
' - Export obrázku, souřadnice písma, statistické údaje
End Using
VB   C#

Výkon

IronOCR funguje ihned po vybalení z krabice, aniž by bylo nutné ladit výkon nebo silně upravovat vstupní obrázky.

Rychlost je ohromující: IronOcr.2020 + je až 10krát rychlejší a dělá o 250% méně chyb než předchozí verze.

Zjistit více

Chcete-li se dozvědět více o OCR v C #, VB, F # nebo v jakémkoli jiném jazyce .NET, přečtěte si naše komunitní výukové programy , které poskytují příklady z reálného světa, jak lze IronOCR použít, a mohou ukázat nuance toho, jak co nejlépe využít tuto knihovnu.

K dispozici je také úplný odkaz na objekt pro vývojáře .NET .