Svensk OCR i C#och .NET

Andra versioner av detta dokument:

IronOCR är en C#-komponent som gör det möjligt för .NET-kodare att läsa text från bilder och PDF-dokument på 126 språk, inklusive svenska.

Det är en avancerad gaffel av Tesseract, byggd exklusivt för .NET-utvecklarna och överträffar regelbundet andra Tesseract-motorer för både hastighet och noggrannhet.

Innehåll i IronOcr.Languages.Swedish

Detta paket innehåller 46 OCR-språk för .NET:

  • svenska
  • SwedishBest
  • SwedishFast

Ladda ner

Swedish Language Pack [Svenska]
* Download as Blixtlås
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Swedish/'> NuGet

Installation

Det första vi måste göra är att installera vårt svenska OCR-paket i ditt .NET-projekt.

PM> Install-Package IronOCR.Languages.Swedish

Kodexempel

Detta C#-kodexempel läser svensk text från ett bild- eller PDF-dokument.

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

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

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

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

Varför välja IronOCR?

IronOCR är ett lättinstallerat, komplett och väldokumenterat .NET-programbibliotek.

Välj IronOCR för att uppnå 99,8% + OCR-noggrannhet utan att använda externa webbtjänster, löpande avgifter eller skicka konfidentiella dokument över internet.

Varför C#-utvecklare väljer IronOCR framför Vanilla Tesseract:

  • Installera som en enda DLL eller NuGet
  • Inkluderar för Tesseract 5, 4 och 3 Motorer ur lådan.
  • Noggrannhet 99,8% överträffar betydligt bättre än vanlig Tesseract.
  • Snabb hastighet och multitrådning
  • MVC, WebApp, Desktop, Console & Server Application kompatibel
  • Inga Exes eller C ++ - kod att arbeta med
  • Fullständigt PDF-stöd för OCR
  • För att utföra OCR nästan vilken bildfil eller PDF som helst
  • Fullständigt stöd för .NET Core, Standard och FrameWork
  • Distribuera på Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Läs streckkoder och QR-koder
  • Exportera OCR som till XHTML
  • Exportera OCR till sökbara PDF-dokument
  • Multithreading-stöd
  • 126 internationella språk hanteras alla via NuGet- eller OcrData-filer
  • Extrahera bilder, koordinater, statistik och teckensnitt. Inte bara text.
  • Kan användas för att omfördela Tesseract OCR i kommersiella och egna applikationer.

IronOCR lyser när du arbetar med verkliga bilder och ofullkomliga dokument som fotografier eller skanningar med låg upplösning som kan ha digitalt brus eller brister.

Andra kostnadsfria OCR- bibliotek för .NET-plattformen, sådana andra .net tesseract-API: er och webbtjänster, fungerar inte så bra på dessa användningsfall.

OCR med Tesseract 5 - Starta kodning i C #

Kodprovet nedan visar hur enkelt det är att läsa text från en bild med C#eller 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#

Konfigurerbar Hello World

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Swedish;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... du kan lägga till valfritt antal bilder
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Swedish
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Swedish;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... du kan lägga till valfritt antal bilder
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Swedish
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Swedish
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

Samma tillvägagångssätt kan på samma sätt användas för att extrahera text från alla PDF-dokument.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Swedish;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Vi kan också välja specifika PDF-sidnummer för OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 sida för varje sida i PDF-filen
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Swedish;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Vi kan också välja specifika PDF-sidnummer för OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 sida för varje sida i PDF-filen
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Swedish
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Vi kan också välja specifika PDF-sidnummer för OCR

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 sida för varje sida i PDF-filen
End Using
VB   C#

OCR för MultiPage TIFF

OCR läser TIFF-filformat inklusive dokument med flera sidor. TIFF kan också konverteras direkt till en PDF-fil med sökbar text.

using IronOcr;

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

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.Swedish;

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.Swedish

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

Streckkoder och QR

En unik egenskap hos IronOCR är att den kan läsa streckkoder och QR-koder från dokument medan den söker efter text. Instanser av OcrResult.OcrBarcode klassen ger utvecklaren detaljerad information om varje skannad streckkod.

// 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);
// typ- och platsegenskaper också exponerade
}
}
// 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);
// typ- och platsegenskaper också exponerade
}
}
' 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)
' typ- och platsegenskaper också exponerade
Next Barcode
End Using
VB   C#

OCR om specifika bildområden

Alla IronOCR: s skannings- och läsmetoder ger möjlighet att exakt specificera vilken del av en sida eller sidor vi vill läsa text från. Detta är mycket användbart när vi tittar på standardiserade formulär och kan spara väldigt mycket tid och förbättra effektiviteten.

För att använda beskärningsregioner måste vi lägga till en systemreferens till System.Drawing så att vi kan använda objektet System.Drawing.Rectangle .

using IronOcr;

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Måtten är i px

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

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

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Måtten är i px

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

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

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

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' Måtten är i px

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

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

OCR för skanning av låg kvalitet

IronOCR OcrInput klassen kan fixa skanningar som normal Tesseract inte kan läsa.

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // fixar digitalt brus och dålig skanning
Input.Deskew(); // fixerar rotation och perspektiv
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Swedish;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // fixar digitalt brus och dålig skanning
Input.Deskew(); // fixerar rotation och perspektiv
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Swedish

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' fixar digitalt brus och dålig skanning
Input.Deskew() ' fixerar rotation och perspektiv
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Exportera OCR-resultat som en sökbar PDF

Bild till PDF med kopierbara textsträngar. Kan indexeras av sökmotorer och databaser.

using IronOcr;

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

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.Swedish;

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.Swedish

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#

TIFF till sökbar PDF-konvertering

COvertera ett TIFF-dokument (eller någon grupp bildfiler) direkt till en sökbar PDF som kan indexeras upp av sökmotorerna på intranät, webbplats och google.

using IronOcr;

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

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.Swedish;

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.Swedish

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

Exportera OCR-resultat som HTML

OCR-bild till XHTML-konvertering.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Swedish;
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.Swedish;
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.Swedish
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#

OCR-bildförbättringsfilter

IronOCR tillhandahåller unika filter för OcrInput objekt för att förbättra OCR-prestanda.

Exempel på bildförbättringskod

Gör OCR-inmatade bilder högre kvalitet för att ge bättre, snabbare OCR-resultat.

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // fixar digitalt brus och dålig skanning
Input.Deskew(); // fixerar rotation och perspektiv
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Swedish;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // fixar digitalt brus och dålig skanning
Input.Deskew(); // fixerar rotation och perspektiv
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Swedish

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' fixar digitalt brus och dålig skanning
Input.Deskew() ' fixerar rotation och perspektiv
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Lista över OCR-bildfilter

Ingångsfilter för att förbättra OCR-prestanda som är inbyggda i IronOCR inkluderar:

  • OcrInput.Rotate (dubbla grader) - Roterar bilder med ett antal grader medurs. Använd negativa siffror moturs.
  • OcrInput.Binarize () - Detta bildfilter gör varje pixel svart eller vit utan mellanliggande mark. Kan förbättra OCR-prestandafall med mycket låg kontrast mellan text och bakgrund.
  • OcrInput.ToGrayScale () - Detta bildfilter förvandlar varje pixel till en nyans av gråskala. Det är osannolikt att OCR-noggrannheten förbättras men kan förbättra hastigheten
  • OcrInput.Contrast () - Ökar kontrasten automatiskt. Detta filter förbättrar ofta OCR-hastighet och noggrannhet vid skanningar med låg kontrast.
  • OcrInput.DeNoise () - Tar bort digitalt brus. Detta filter ska endast användas där buller förväntas.
  • OcrInput.Invert () - Inverterar varje färg. Till exempel blir vit svart: svart blir vit.
  • OcrInput.Dilate () - Avancerad morfologi. Dilering lägger till pixlar till gränserna för objekt i en bild. Mittemot Erode
  • OcrInput.Erode () - Avancerad morfologi. Erosion tar bort pixlar på objektgränserna motsatt av Dilate
  • OcrInput.Deskew () - Roterar en bild så att den är rätt uppåt och ortogonal. Detta är mycket användbart för OCR eftersom Tesseract-toleransen för skeva skanningar kan vara så låg som 5 grader.
  • OcrInput.DeepCleanBackgroundNoise () - Avlägsnande av kraftigt bakgrundsbrus. Använd endast detta filter om extremt dokumentbakgrundsbrus är känt, eftersom detta filter också riskerar att minska OCR-noggrannhet för rena dokument och är mycket CPU-dyrt.
  • OcrInput.EnhanceResolution - Förbättrar upplösningen på bilder med låg kvalitet. Detta filter behövs inte ofta eftersom OcrInput.MinimumDPI och OcrInput.TargetDPI automatiskt kommer att fånga och lösa ingångar med låg upplösning.

CleanBackgroundBuller. Detta är en inställning som är lite tidskrävande; emellertid tillåter det biblioteket att automatiskt rengöra digitalt brus, pappers skrynklor och andra brister i en digital bild som annars skulle göra det oförmöget att läsas av andra OCR-bibliotek.

EnhanceContrast är en inställning som gör att IronOCR automatiskt ökar textens kontrast mot en bilds bakgrund, vilket ökar OCR-noggrannheten och i allmänhet ökar prestanda och OCR-hastighet.

EnhanceResolution är en inställning som automatiskt upptäcker bilder med låg upplösning (som är under 275 dpi) och automatiskt uppskalar bilden och sedan skärper hela texten så att den kan läsas perfekt av ett OCR-bibliotek. Även om denna operation i sig är tidskrävande minskar den i allmänhet den totala tiden för en OCR-operation på en bild.

Språk IronOCR stöder 22 internationella språkpaket och språkinställningen kan användas för att välja ett eller flera språk som ska användas för en OCR-operation.

Strategi IronOCR stöder två strategier. Vi kan välja att antingen gå för en snabb och mindre korrekt genomsökning av ett dokument eller använda en avancerad strategi som använder vissa artificiella intelligensmodeller för att automatiskt förbättra noggrannheten i OCR-text genom att titta på ordens statistiska relation till varandra i en mening .

ColorSpace är en inställning där vi kan välja OCR i gråskala eller färg. Generellt är gråskala det bästa alternativet. Men ibland när det finns texter eller bakgrunder med liknande nyans men väldigt annorlunda färger, kommer ett färgfärgutrymme i färger att ge bättre resultat.

DetectWhiteTextOnDarkBackgrounds. I allmänhet förväntar sig alla OCR-bibliotek att se svart text på vit bakgrund. Med den här inställningen kan IronOCR automatiskt upptäcka negativa eller mörka sidor med vit text och läsa dem.

InputImageType. Denna inställning gör det möjligt för utvecklaren att vägleda OCR-biblioteket om huruvida den tittar på ett fullständigt dokument eller ett utdrag, till exempel en skärmdump.

RotateAndStraighten är en avancerad inställning som tillåter IronOCR den unika förmågan att läsa dokument som inte bara roteras utan kanske innehåller perspektiv, till exempel fotografier av textdokument.

ReadBarcodes är en användbar funktion som gör det möjligt för IronOCR att automatiskt läsa streckkoder och QR-koder på sidor eftersom det också läser text utan att lägga till en större extra tidsbörda.

Färgdjup. Den här inställningen avgör hur många bitar per pixel OCR-biblioteket ska använda för att bestämma djupet på en färg. Ett högre färgdjup kan öka OCR-kvaliteten, men kommer också att öka den tid som krävs för OCR-operationen.

126 språkpaket

IronOCR stöder 126 internationella språk via språkpaket som distribueras som DLL-filer, som kan laddas ner från den här webbplatsen eller också från NuGet Package Manager .

Språken inkluderar tyska, franska, engelska, kinesiska, japanska och många fler. Specialistpaket finns för MRZ-pass, MICR-kontroller, finansiella data, registreringsskyltar och många fler. Du kan också använda valfri tesseract ".traineddata" -fil - inklusive de du skapar själv.

Språkexempel

Använda andra OCR-språk.

// 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");
// Lägg till bildfilter om det behövs
// I det här fallet är även tankeinmatningen mycket låg kvalitet
// IronTesseract kan läsa vad konventionell Tesseract inte kan.

var Result = Ocr.Read(input);

// Konsolen kan inte skriva ut arabiska på Windows enkelt.
// Låt oss spara på disk istället.
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");
// Lägg till bildfilter om det behövs
// I det här fallet är även tankeinmatningen mycket låg kvalitet
// IronTesseract kan läsa vad konventionell Tesseract inte kan.

var Result = Ocr.Read(input);

// Konsolen kan inte skriva ut arabiska på Windows enkelt.
// Låt oss spara på disk istället.
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")
' Lägg till bildfilter om det behövs
' I det här fallet är även tankeinmatningen mycket låg kvalitet
' IronTesseract kan läsa vad konventionell Tesseract inte kan.

Dim Result = Ocr.Read(input)

' Konsolen kan inte skriva ut arabiska på Windows enkelt.
' Låt oss spara på disk istället.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Exempel på flera språk

Det är också möjligt att använda OCR med flera språk samtidigt. Detta kan verkligen hjälpa till att få engelskspråkiga metadata och webbadresser i Unicode-dokument.

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

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

// Vi kan lägga till valfritt antal språk

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.Swedish);

// Vi kan lägga till valfritt antal språk

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.Swedish)

' Vi kan lägga till valfritt antal språk

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

Detaljerade OCR-resultatobjekt

IronOCR returnerar ett OCR-resultatobjekt för varje OCR-operation. Generellt använder utvecklare endast textegenskapen för det här objektet för att få texten skannad från bilden. OCR-resultaten DOM är dock mycket mer avancerad än detta.

using IronOcr;
using System.Drawing; //Lägg till monteringsreferens

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Swedish;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Viktig

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;
// Utforska här för att hitta ett massivt, detaljerat API:
// - Sidor, block, parafafer, linjer, ord, tecken
// - Bildexport, teckensnittskoordinater, statistiska data
}
using IronOcr;
using System.Drawing; //Lägg till monteringsreferens

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Swedish;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Viktig

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;
// Utforska här för att hitta ett massivt, detaljerat API:
// - Sidor, block, parafafer, linjer, ord, tecken
// - Bildexport, teckensnittskoordinater, statistiska data
}
Imports IronOcr
Imports System.Drawing 'Lägg till monteringsreferens

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Swedish
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True '!Viktig

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
' Utforska här för att hitta ett massivt, detaljerat API:
' - Sidor, block, parafafer, linjer, ord, tecken
' - Bildexport, teckensnittskoordinater, statistiska data
End Using
VB   C#

Prestanda

IronOCR fungerar ur lådan utan att behöva justera prestanda eller kraftigt ändra ingångsbilder.

Speed is Blazing: IronOcr.2020 + är upp till 10 gånger snabbare och gör över 250% färre fel än tidigare builds.

Läs mer

För att lära dig mer om OCR i C #, VB, F # eller något annat .NET-språk, läs våra communitytutorialer , som ger verkliga exempel på hur IronOCR kan användas och kan visa nyanserna i hur du får ut det bästa av detta bibliotek.

En fullständig objektreferens för .NET-utvecklare finns också.