Č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]

Instalace

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

Install-Package IronOCR.Languages.Czech

Příklad kódu

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

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

var Ocr = new IronTesseract();

// Set the language to Czech
Ocr.Language = OcrLanguage.Czech;

// Use a using statement to manage resource cleanup
using (var Input = new OcrInput(@"images\Czech.png"))
{
    // Perform OCR
    var Result = Ocr.Read(Input);

    // Get the OCR result as text
    var AllText = Result.Text;
}
// PM> Install-Package IronOcr.Languages.Czech
using IronOcr;

var Ocr = new IronTesseract();

// Set the language to Czech
Ocr.Language = OcrLanguage.Czech;

// Use a using statement to manage resource cleanup
using (var Input = new OcrInput(@"images\Czech.png"))
{
    // Perform OCR
    var Result = Ocr.Read(Input);

    // Get the OCR result as text
    var AllText = Result.Text;
}
' PM> Install-Package IronOcr.Languages.Czech
Imports IronOcr

Private Ocr = New IronTesseract()

' Set the language to Czech
Ocr.Language = OcrLanguage.Czech

' Use a using statement to manage resource cleanup
Using Input = New OcrInput("images\Czech.png")
	' Perform OCR
	Dim Result = Ocr.Read(Input)

	' Get the OCR result as text
	Dim AllText = Result.Text
End Using
$vbLabelText   $csharpLabel

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 motory Tesseract 5, 4, a 3
  • Přesnost 99,8% výrazně překonává běžný Tesseract
  • Vysoká rychlost a podpora více vláken
  • Kompatibilita s MVC, WebApp, Desktop, Console a Server aplikací
  • Žádné Exes nebo C++ kód pro provoz
  • Plná podpora OCR PDF
  • Schopnost provádět OCR na téměř jakýkoli obrazový soubor nebo PDF
  • Podpora pro .NET Core, Standard, a Framework
  • Nasazení na Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Přečtěte si čárové kódy a QR kódy
  • Exportujte OCR jako XHTML
  • Exportujte OCR do prohledávatelných dokumentů PDF
  • Podpora více vláken
  • 126 mezinárodních jazyků, všechny dostupné přes NuGet nebo OcrData soubory
  • Extrahujte obrázky, souřadnice, statistiky, a písma - ne jen text
  • Lze použít k redistribuci Tesseract OCR v komerčních a proprietárních aplikacích.

IronOCR svítí, když pracujete s reálnými obrázky 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é OCR knihovny pro platformu .NET, jako jsou další rozhraní API a webové služby .NET Tesseract, v těchto případech 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

// Read text using IronTesseract
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
// Read text using IronTesseract
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
' Read text using IronTesseract
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
$vbLabelText   $csharpLabel

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");
    // You can add any number of images
    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");
    // You can add any number of images
    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")
	' You can add any number of images
	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

C# PDF OCR

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

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;
using (var input = new OcrInput())
{
    input.AddPdf("example.pdf", "password");
    // We can also select specific PDF page numbers for OCR

    var Result = Ocr.Read(input);

    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
    // 1 page for each PDF page
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Czech;
using (var input = new OcrInput())
{
    input.AddPdf("example.pdf", "password");
    // We can also select specific PDF page numbers for OCR

    var Result = Ocr.Read(input);

    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
    // 1 page for each PDF page
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Czech
Using input = New OcrInput()
	input.AddPdf("example.pdf", "password")
	' We can also select specific PDF page numbers for OCR

	Dim Result = Ocr.Read(input)

	Console.WriteLine(Result.Text)
	Console.WriteLine($"{Result.Pages.Count()} Pages")
	' 1 page for each PDF page
End Using
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

Čárové kódy a QR

Jedinečnou vlastností aplikace IronOCR je, že dokáže číst čárové kódy a QR kódy z dokumentů během 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);
        // Type and location properties also exposed
    }
}
// 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);
        // Type and location properties also exposed
    }
}
' 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)
		' Type and location properties also exposed
	Next Barcode
End Using
$vbLabelText   $csharpLabel

OCR na konkrétní oblasti obrázků

Všechny metody skenování a čtení aplikace IronOCR umožňují přesně určit, ze které části stránky nebo stránek chceme text číst. To je velmi užitečné, když se pracuje se standardizovanými formuláři a může ušetřit spoustu času a zlepšit efektivitu.

Chcete-li použít oblasti oříznutí, budete muset přidat odkaz na System.Drawing, abyste mohli použít objekt System.Drawing.Rectangle.

using IronOcr;
using System.Drawing;  // Required for Rectangle

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

using (var Input = new OcrInput())
{
    // Define area in pixels
    var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };

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

    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
using IronOcr;
using System.Drawing;  // Required for Rectangle

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

using (var Input = new OcrInput())
{
    // Define area in pixels
    var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };

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

    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
Imports IronOcr
Imports System.Drawing ' Required for Rectangle

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

Using Input = New OcrInput()
	' Define area in pixels
	Dim ContentArea = New Rectangle() With {
		.X = 215,
		.Y = 1250,
		.Height = 280,
		.Width = 1335
	}

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

	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

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(); // Fixes digital noise and poor scans
    Input.Deskew(); // Corrects rotation and perspective
    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(); // Fixes digital noise and poor scans
    Input.Deskew(); // Corrects rotation and perspective
    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() ' Fixes digital noise and poor scans
	Input.Deskew() ' Corrects rotation and perspective
	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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);
    Result.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);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr

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

Using Input = New OcrInput()
	Input.AddMultiFrameTiff("example.tiff")
	Dim Result = Ocr.Read(Input)
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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(); // Fixes digital noise
    Input.Deskew();  // Corrects rotation
    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(); // Fixes digital noise
    Input.Deskew();  // Corrects rotation
    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() ' Fixes digital noise
	Input.Deskew() ' Corrects rotation
	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

Seznam obrazových filtrů OCR

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

  • OcrInput.Rotate (degrees) - 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ě orientován. 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 nastavení umožňuje 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 - Způsobí, že aplikace IronOCR automaticky zvyšuje kontrast textu oproti obrazu pozadí, zvyšuje přesnost OCR.

EnhanceResolution - Automaticky detekuje obrázky s nízkým rozlišením a automaticky zlepšuje obrazovou kvalitu.

Jazyk - IronOCR podporuje 22 jazykových balíků. Nastavení jazyka lze použít k výběru jazyků pro OCR.

Strategy - Můžeme zvolit rychlé a méně přesné skenování nebo pokročilé skenování s AI zpracováním.

ColorSpace - Nastavení OCR v odstínech šedi nebo barvě. Obecně nejlepší volbou jsou odstíny šedé.

DetectWhiteTextOnDarkBackgrounds - Automaticky detekuje negativy nebo tmavé stránky s bílým textem.

InputImageType - Nastavení pro určení celého dokumentu nebo úryvku (např. snímek obrazovky).

RotateAndStraighten - Umožňuje IronOCR číst také skloněné dokumenty.

ReadBarcodes - Funkce, která umožňuje aplikaci IronOCR automaticky číst čárové kódy a QR kódy v průběhu OCR.

Barevná hloubka - Kolik bitů na pixel bude použito. Vyšší může zvýšit kvalitu OCR.

126 jazykových balíčků

IronOCR podporuje 126 mezinárodních jazyků přes jazykové balíčky, které jsou distribuovány jako DLLs ke stažení z tohoto webu nebo z NuGet.

Jazyky zahrnují němčinu, francouzštinu, angličtinu, čínštinu, japonštinu a mnoho dalších. Existují speciální jazykové sady pro pasové MRZ, kontroly MICR, 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 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 na Windows.
    // Místo toho uložte 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 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 na Windows.
    // Místo toho uložte 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 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 na Windows.
	' Místo toho uložte na disk.
	Result.SaveAsTextFile("arabic.txt")
End Using
$vbLabelText   $csharpLabel

Vícejazyčný příklad

Je také možné používat OCR ve více jazycích současně. To může pomoci při získávání anglických metadat a adres URL v Unicode dokumentech.

// 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
$vbLabelText   $csharpLabel

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 z obrázku. Výsledky OCR však jsou mnohem pokročilejší.

using IronOcr;
using System.Drawing; // Přidejte odkaz na sestavu pro Rectangle

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é API:
    // - Stránky, bloky, odstavce, čáry, slova, znaky
    // - Export obrázku, souřadnice, statistiky
}
using IronOcr;
using System.Drawing; // Přidejte odkaz na sestavu pro Rectangle

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é API:
    // - Stránky, bloky, odstavce, čáry, slova, znaky
    // - Export obrázku, souřadnice, statistiky
}
Imports IronOcr
Imports System.Drawing ' Přidejte odkaz na sestavu pro Rectangle

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é API:
	' - Stránky, bloky, odstavce, čáry, slova, znaky
	' - Export obrázku, souřadnice, statistiky
End Using
$vbLabelText   $csharpLabel

Výkon

IronOCR funguje ihned po vybalení z krabice, bez potřeby ladit výkon nebo 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, jak co nejlépe využít tuto knihovnu.

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