IronOCR як ҷузъи нармафзори C# мебошад, ки ба кодгузорони .NET имкон медиҳад, ки матнро аз тасвирҳо ва ҳуҷҷатҳои PDF бо 126 забон, аз ҷумла тоҷикӣ хонанд.
Ин як чангаки пешрафтаи Tesseract мебошад, ки танҳо барои таҳиягарони .NET сохта шудааст ва мунтазам аз дигар муҳаррикҳои Tesseract ҳам суръат ва ҳам дақиқтарро пеш мегузорад.
Намунаи рамзи дар поён овардашуда нишон медиҳад, ки хондани матн аз тасвир бо ёрии C# ё VB .NET то чӣ андоза осон аст.
OneLiner
// Як сатр барои хондани матнstringText = new IronTesseract().Read(@"img\Screenshot.png").Text;
// Як сатр барои хондани матн
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
' Як сатр барои хондани матнDimTextAsString = (New IronTesseract()).Read("img\Screenshot.png").Text
' Як сатр барои хондани матн
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
Салом ҷаҳонӣ
// PM> Install-Package IronOcr.Languages.Tajikusing IronOcr;// Танзими OCR бо забони тоҷикӣvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Tajik;using (varInput = new OcrInput()){Input.AddImage("images/sample.jpeg"); //... шумо метавонед шумораи дилхоҳ тасвирҳоро илова кунед varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
// PM> Install-Package IronOcr.Languages.Tajik
using IronOcr;
// Танзими OCR бо забони тоҷикӣ
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Tajik;
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
//... шумо метавонед шумораи дилхоҳ тасвирҳоро илова кунед
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcr' Танзими OCR бо забони тоҷикӣDimOcrAs New IronTesseract()Ocr.Language = OcrLanguage.TajikUsingInputAs New OcrInput()Input.AddImage("images/sample.jpeg") '... шумо метавонед шумораи дилхоҳ тасвирҳоро илова кунед DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
' Танзими OCR бо забони тоҷикӣ
Dim Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.Tajik
Using Input As New OcrInput()
Input.AddImage("images/sample.jpeg")
'... шумо метавонед шумораи дилхоҳ тасвирҳоро илова кунед
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
C# PDF OCR
Ҳамин гуна равишро низ барои баровардани матн аз ҳама гуна ҳуҷҷатҳои PDF истифода бурдан мумкин аст.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Tajik;using (varInput = new OcrInput()){Input.AddPdf("example.pdf", "password"); // Мо инчунин метавонем рақамҳои мушаххаси PDF-ро ба OCR интихоб кунем varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);Console.WriteLine($"{Result.Pages.Count} Pages"); // 1 саҳифа барои ҳар як сафҳаи PDF}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Tajik;
using (var Input = new OcrInput())
{
Input.AddPdf("example.pdf", "password");
// Мо инчунин метавонем рақамҳои мушаххаси PDF-ро ба OCR интихоб кунем
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count} Pages");
// 1 саҳифа барои ҳар як сафҳаи PDF
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TajikUsingInput = New OcrInput()Input.AddPdf("example.pdf", "password") ' Мо инчунин метавонем рақамҳои мушаххаси PDF-ро ба OCR интихоб кунем DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)Console.WriteLine($"{Result.Pages.Count} Pages") ' 1 саҳифа барои ҳар як сафҳаи PDFEndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Tajik
Using Input = New OcrInput()
Input.AddPdf("example.pdf", "password")
' Мо инчунин метавонем рақамҳои мушаххаси PDF-ро ба OCR интихоб кунем
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count} Pages")
' 1 саҳифа барои ҳар як сафҳаи PDF
End Using
OCR барои TIFFs MultiPage
OCR Reading формати файли TIFF, аз ҷумла ҳуҷҷатҳои сершумор. TIFF инчунин метавонад мустақиман ба файли PDF бо матни ҷустуҷӯ табдил дода шавад.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Tajik;using (varInput = new OcrInput()){Input.AddMultiFrameTiff("multi-frame.tiff"); varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Tajik;
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("multi-frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TajikUsingInput = New OcrInput()Input.AddMultiFrameTiff("multi-frame.tiff") DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Tajik
Using Input = New OcrInput()
Input.AddMultiFrameTiff("multi-frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Штрих-кодҳо ва QR
Хусусияти беназири IronOCR дар он аст, ки ҳангоми азназаргузаронии матн баркодҳо ва кодҳои QR-ро аз ҳуҷҷатҳо хонда метавонад. Мисолҳои синфи OcrResult.OcrBarcode ба таҳиягар дар бораи ҳар як OcrResult.OcrBarcode маълумоти муфассал медиҳад.
using IronOcr;varOcr = new IronTesseract();Ocr.Configuration.ReadBarCodes = true;using (varInput = new OcrInput()){Input.AddImage("img/Barcode.png"); varResult = Ocr.Read(Input); foreach (varBarcodeinResult.Barcodes) {Console.WriteLine(Barcode.Value); // хосиятҳо ва намудҳо низ ошкор карда шуданд }}
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);
// хосиятҳо ва намудҳо низ ошкор карда шуданд
}
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Configuration.ReadBarCodes = TrueUsingInput = New OcrInput()Input.AddImage("img/Barcode.png") DimResult = Ocr.Read(Input) For EachBarcodeInResult.BarcodesConsole.WriteLine(Barcode.Value) ' хосиятҳо ва намудҳо низ ошкор карда шуданд NextBarcodeEndUsing
Imports IronOcr
Private 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)
' хосиятҳо ва намудҳо низ ошкор карда шуданд
Next Barcode
End Using
using IronOcr;using System.Drawing; // Истиноди маҷлисро илова кунедvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Tajik;using (varInput = new OcrInput()){ varContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 }; // Андозаҳо дар px мебошандInput.Add("document.png", ContentArea); varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
using System.Drawing; // Истиноди маҷлисро илова кунед
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Tajik;
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Андозаҳо дар px мебошанд
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Tajik;using (varInput = new OcrInput(@"img\Potter.LowQuality.tiff")){Input.DeNoise(); // садои рақамӣ ва сканкунии сустро ислоҳ мекунадInput.Deskew(); // гардиш ва дурнаморо ислоҳ мекунад varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Tajik;
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // садои рақамӣ ва сканкунии сустро ислоҳ мекунад
Input.Deskew(); // гардиш ва дурнаморо ислоҳ мекунад
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TajikUsingInput = New OcrInput("img\Potter.LowQuality.tiff")Input.DeNoise() ' садои рақамӣ ва сканкунии сустро ислоҳ мекунадInput.Deskew() ' гардиш ва дурнаморо ислоҳ мекунад DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Tajik
Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' садои рақамӣ ва сканкунии сустро ислоҳ мекунад
Input.Deskew() ' гардиш ва дурнаморо ислоҳ мекунад
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Натиҷаҳои OCR-ро ҳамчун PDF-и ҷустуҷӯшаванда содир кунед
Тасвир ба PDF бо сатрҳои матнии нусхабардорӣ. Метавонад аз ҷониби системаҳои ҷустуҷӯӣ ва пойгоҳи додаҳо индексатсия карда шавад.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Tajik;using (varInput = new OcrInput()){Input.Title = "Quarterly Report";Input.AddImage("image1.jpeg");Input.AddImage("image2.png");Input.AddImage("image3.gif"); varResult = Ocr.Read(Input);Result.SaveAsSearchablePdf("searchable.pdf");}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Tajik;
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");
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TajikUsingInput = New OcrInput()Input.Title = "Quarterly Report"Input.AddImage("image1.jpeg")Input.AddImage("image2.png")Input.AddImage("image3.gif") DimResult = Ocr.Read(Input)Result.SaveAsSearchablePdf("searchable.pdf")EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Tajik
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
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Tajik;using (varInput = new OcrInput()){Input.AddMultiFrameTiff("example.tiff"); varResult = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Tajik;
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("example.tiff");
var Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TajikUsingInput = New OcrInput()Input.AddMultiFrameTiff("example.tiff") DimResult = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf")EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Tajik
Using Input = New OcrInput()
Input.AddMultiFrameTiff("example.tiff")
Dim Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf")
End Using
Натиҷаҳои OCR-ро ҳамчун HTML содир кунед
Тасвири OCR ба табдили XHTML.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Tajik;using (varInput = new OcrInput()){Input.Title = "Html Title";Input.AddImage("image1.jpeg"); varResult = Ocr.Read(Input);Result.SaveAsHocrFile("results.html");}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Tajik;
using (var Input = new OcrInput())
{
Input.Title = "Html Title";
Input.AddImage("image1.jpeg");
var Result = Ocr.Read(Input);
Result.SaveAsHocrFile("results.html");
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TajikUsingInput = New OcrInput()Input.Title = "Html Title"Input.AddImage("image1.jpeg") DimResult = Ocr.Read(Input)Result.SaveAsHocrFile("results.html")EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Tajik
Using Input = New OcrInput()
Input.Title = "Html Title"
Input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(Input)
Result.SaveAsHocrFile("results.html")
End Using
Тасвирҳои вуруди OCR-ро бо сифати баландтар месозад, то натиҷаҳои беҳтар ва зудтари OCR.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Tajik;using (varInput = new OcrInput(@"LowQuality.jpeg")){Input.DeNoise(); // садои рақамӣ ва сканкунии сустро ислоҳ мекунадInput.Deskew(); // гардиш ва дурнаморо ислоҳ мекунад varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Tajik;
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // садои рақамӣ ва сканкунии сустро ислоҳ мекунад
Input.Deskew(); // гардиш ва дурнаморо ислоҳ мекунад
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TajikUsingInput = New OcrInput("LowQuality.jpeg")Input.DeNoise() ' садои рақамӣ ва сканкунии сустро ислоҳ мекунадInput.Deskew() ' гардиш ва дурнаморо ислоҳ мекунад DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Tajik
Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' садои рақамӣ ва сканкунии сустро ислоҳ мекунад
Input.Deskew() ' гардиш ва дурнаморо ислоҳ мекунад
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
// PM> Install-Package IronOcr.Languages.ChineseSimplifiedusing IronOcr;// Танзими OCR бо забонҳои чинии содакардашуда ва тоҷикӣvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.ChineseSimplified;Ocr.AddSecondaryLanguage(OcrLanguage.Tajik);// Мо метавонем шумораи дилхоҳро илова кунемusing (varInput = new OcrInput()){Input.Add("multi-language.pdf"); varResult = Ocr.Read(Input);Result.SaveAsTextFile("results.txt");}
// PM> Install-Package IronOcr.Languages.ChineseSimplified
using IronOcr;
// Танзими OCR бо забонҳои чинии содакардашуда ва тоҷикӣ
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Tajik);
// Мо метавонем шумораи дилхоҳро илова кунем
using (var Input = new OcrInput())
{
Input.Add("multi-language.pdf");
var Result = Ocr.Read(Input);
Result.SaveAsTextFile("results.txt");
}
' PM> Install-Package IronOcr.Languages.ChineseSimplifiedImportsIronOcr' Танзими OCR бо забонҳои чинии содакардашуда ва тоҷикӣPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.ChineseSimplifiedOcr.AddSecondaryLanguage(OcrLanguage.Tajik)' Мо метавонем шумораи дилхоҳро илова кунемUsingInput = New OcrInput()Input.Add("multi-language.pdf") DimResult = Ocr.Read(Input)Result.SaveAsTextFile("results.txt")EndUsing
' PM> Install-Package IronOcr.Languages.ChineseSimplified
Imports IronOcr
' Танзими OCR бо забонҳои чинии содакардашуда ва тоҷикӣ
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Tajik)
' Мо метавонем шумораи дилхоҳро илова кунем
Using Input = New OcrInput()
Input.Add("multi-language.pdf")
Dim Result = Ocr.Read(Input)
Result.SaveAsTextFile("results.txt")
End Using
Объектҳои муфассали натиҷаҳои OCR
IronOCR барои ҳар як амалиёти OCR объекти натиҷаи OCR бар мегардонад. Одатан, таҳиягарон танҳо хосияти матни ин объектро истифода мебаранд, то матнро аз тасвир скан кунанд. Аммо, натиҷаҳои OCR DOM нисбат ба он хеле пешрафтаанд.
Imports IronOcr
Imports System.Drawing ' Истиноди маҷлисро илова кунед
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Tajik
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True ' Муҳим
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
' Барои ёфтани як API муфассал ва муфассалро дар инҷо биомӯзед:
' - Саҳифаҳо, Блокҳо, Парафафҳо, Сатрҳо, Калимаҳо, Чашмҳо
' - Содироти тасвирҳо, Ҳамоҳангҳои ҳуруфҳо, Маълумоти оморӣ
End Using
Иҷрои
IronOCR аз қуттӣ кор мекунад ва бидуни зарурат ба ҷӯрсозӣ ё сахт тағир додани тасвирҳои вурудӣ.
Суръат сӯзон аст: IronOCR.2020 + то 10 маротиба тезтар аст ва нисбат ба сохти қаблӣ беш аз 250% камтар хато мекунад.
커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.