<meta http-equiv="content-language" content="hu" />
<h1>Magyar OCR C# és .NET nyelven</h1>
<h6>A dokumentum további verziói:</h6>
<ul>
<li><a rel='alternate' hreflang='en' href="/csharp/ocr/languages/hungarian/">angol (This Page in English)</a></li>
<li><a href="/csharp/ocr/languages/">Több Language</a></li>
</ul>
<p>Az IronOCR egy C# szoftverkomponens, amely lehetővé teszi a .NET-kódolók számára, hogy 126 nyelven olvassák el a képek és a PDF dokumentumok szövegét, beleértve a magyar nyelvet is.</p>
<p>Ez a Tesseract fejlett villája, amelyet kizárólag a .NET fejlesztők számára fejlesztettek ki, és a sebesség és a pontosság szempontjából is rendszeresen felülmúlja a többi Tesseract motort.</p>
<h2>Az IronOCR tartalma. Nyelvek. Magyar</h2>
<p>Ez a csomag 52 OCR nyelvet tartalmaz a .NET számára:</p>
<ul>
<li>Magyar</li>
<li>HungarianBest</li>
<li>HungarianFast</li>
</ul>
<h2>Letöltés</h2>
<p>Magyar Nyelvcsomag <span style='white-space:default'>[magyar]</span> <br/> * Download as <a class='languages-dll' href='/csharp/ocr/packages/language-packs/Hungarian.ocrdata.zip'>Postai irányítószám <i class='fas fa-download'></i><br/> * Install with </a><a target='_blank' class='languages-nuget' href="https://www.nuget.org/packages/IronOcr.Languages.Hungarian/">https://www.nuget.org/packages/IronOcr.Languages.Hungarian/</a> NuGet<i class='nuget-icon'></i></p>
<h2>Telepítés</h2>
<p>Az első dolog, amit meg kell tennünk, telepítenie kell a <strong>magyar</strong> OCR csomagunkat a .NET projektjébe.</p>
<p><code>PM> Install-Package IronOcr.Languages.Hungarian</code></p>
<h2>Kódpélda</h2>
<p>Ez a C# kód példa magyar nyelvű szöveget olvas le egy Image vagy PDF dokumentumról.</p>
```csharp
// Add the IronOcr namespace to use the OCR functionality.
using IronOcr;
var Ocr = new IronTesseract();
// Set the language to Hungarian for OCR processing
Ocr.Language = OcrLanguage.Hungarian;
// Use a using statement to properly dispose of the OcrInput
using (var Input = new OcrInput(@"images\Hungarian.png"))
{
// Read the text from the input image
var Result = Ocr.Read(Input);
// Store the extracted text
var AllText = Result.Text;
// Output the text or use it as needed
Console.WriteLine(AllText);
}
```
<h2>Miért válassza az IronOCR-t?</h2>
<p>Az IronOCR egy könnyen telepíthető, teljes és jól dokumentált .NET szoftverkönyvtár.</p>
<p>Válassza az IronOCR lehetőséget, ha <strong>99,8% + OCR pontosságot</strong> szeretne elérni, anélkül, hogy bármilyen külső webszolgáltatást, folyamatos díjakat vagy bizalmas dokumentumokat küldene az interneten.</p>
<h4> Miért választják a C# fejlesztők az IronOCR-t a Vanilla Tesseract helyett:</h4>
<ul>
<li>Telepítés egyetlen DLL-ként vagy NuGet-ként</li>
<li>A dobozból kivéve a Tesseract 5, 4 és 3 motorokat.</li>
<li>A pontosság <strong>99,8% -kal</strong> jelentősen felülmúlja a szokásos Tesseractot.</li>
<li>Lángoló sebesség és MultiThreading</li>
<li>Kompatibilis az MVC, a WebApp, az asztali, a konzol és a kiszolgálóalkalmazásokkal</li>
<li>Nincs Exes vagy C++ kód, amellyel működhetne</li>
<li>Teljes PDF OCR támogatás</li>
<li>Szinte bármilyen képfájl vagy PDF OCR végrehajtásához</li>
<li>Teljes .NET Core, Standard és FrameWork támogatás</li>
<li>Telepítse Windows, Mac, Linux, Azure, Docker, Lambda, AWS rendszereken</li>
<li>Olvassa el a vonalkódokat és a QR-kódokat</li>
<li>Exportálja az OCR-t XHTML-be</li>
<li>Exportálja az OCR-t kereshető PDF dokumentumokba</li>
<li>Többszálas támogatás</li>
<li>126 nemzetközi nyelv, mindezeket NuGet vagy OcrData fájlokon keresztül kezelik</li>
<li>Kivonat képek, koordináták, statisztikák és betűtípusok. Nem csak szöveg.</li>
<li>Használható a Tesseract OCR terjesztésére kereskedelmi és saját alkalmazásokban.</li>
</ul>
<p><em>A vas OCR akkor világít, ha valós képekkel és tökéletlen dokumentumokkal dolgozik, például fényképekkel, vagy alacsony felbontású beolvasásokkal, amelyek digitális zajjal vagy tökéletlenséggel járhatnak.</em></p>
<p>A .NET platform egyéb <a href="/csharp/ocr/use-case/free-ocr-csharp/">ingyenes OCR</a> könyvtárai, mint például a .NET Tesseract API-k és a webszolgáltatások, nem teljesítenek ilyen jól a valós világban.</p>
<h2>OCR a Tesseract 5-tel - Kezdje a kódolást C#-ben</h2>
<p>Az alábbi kódminta megmutatja, hogy a C# vagy a VB .NET használatával milyen könnyen olvasható szöveg egy képből.</p>
<h3>Egysoros</h3>
```csharp
// Read text directly from an image with a single line of code
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
```
<h3>Konfigurálható Hello World</h3>
```csharp
// Importing IronOcr library
using IronOcr;
// Initialize IronTesseract for OCR processing
var Ocr = new IronTesseract();
// Set the language to Hungarian
Ocr.Language = OcrLanguage.Hungarian;
// Using a using statement to ensure resources are properly disposed
using (var Input = new OcrInput())
{
// Add an image to the OCR input
Input.AddImage("images/sample.jpeg");
// ... you can add as many images as you want
// Perform OCR and retrieve the result
var Result = Ocr.Read(Input);
// Print the OCR result text
Console.WriteLine(Result.Text);
}
```
<h3>C# PDF OCR</h3>
<p>Ugyanez a megközelítés hasonlóan alkalmazható bármilyen PDF dokumentum szövegének kinyerésére.</p>
```csharp
// Initialize IronTesseract for PDF OCR
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement to handle OcrInput disposal
using (var input = new OcrInput())
{
// Add PDF to the input; specify password if needed
input.AddPdf("example.pdf", "password");
// Kiválaszthatunk konkrét PDF oldalszámokat is az OCR számára
// Perform OCR on the input
var Result = Ocr.Read(input);
// Output the OCR result text
Console.WriteLine(Result.Text);
// Output the number of pages processed
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 oldal a PDF minden oldalához
}
```
<h3>OCR többoldalas TIFF-ekhez</h3>
<p>OCR TIFF fájlformátum olvasása, többoldalas dokumentumokkal együtt. A TIFF közvetlenül konvertálható kereshető szöveget tartalmazó PDF fájlokká is.</p>
```csharp
using IronOcr;
// Initialize IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement for managing resources
using (var Input = new OcrInput())
{
// Add multi-frame TIFF file for OCR
Input.AddMultiFrameTiff("multi - frame.tiff");
// Perform OCR and retrieve the result
var Result = Ocr.Read(Input);
// Output the OCR result text
Console.WriteLine(Result.Text);
}
```
<h3>Vonalkódok és QR</h3>
<p>Az IronOCR egyedülálló tulajdonsága, hogy vonalkódokat és QR-kódokat tud olvasni a dokumentumokból, miközben szöveget keres. Az <code>OcrResult.OcrBarcode</code> osztály <code>OcrResult.OcrBarcode</code> részletes információkat nyújtanak a fejlesztőnek az egyes beolvasott vonalkódokról.</p>
```csharp
// Importing IronOcr library
using IronOcr;
// Initialize IronTesseract with barcode reading enabled
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
// Using statement for managing input resources
using (var input = new OcrInput())
{
// Add an image containing a barcode
input.AddImage("img/Barcode.png");
// Perform OCR operation
var Result = Ocr.Read(input);
// Iterate through each barcode found and print its value
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// Típus és elhelyezkedés tulajdonságai is ki vannak téve
}
}
```
<h3>OCR a képek meghatározott területein</h3>
<p>Az IronOCR összes szkennelési és olvasási módja lehetővé teszi, hogy pontosan meghatározzuk az oldal vagy oldalak mely részéből szeretnénk szöveget olvasni. Ez nagyon hasznos, ha szabványosított űrlapokat vizsgálunk, és nagyon sok időt takaríthat meg, és javíthatja a hatékonyságot.</p>
<p>A vágási régiók használatához hozzá kell adnunk egy rendszer hivatkozást a <code>System.Drawing</code>, hogy használhassuk a <code>System.Drawing.Rectangle</code> objektumot.</p>
```csharp
using IronOcr;
using System.Drawing; // For defining the rectangle area
// Initialize IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement to ensure disposal of resources
using (var Input = new OcrInput())
{
// Define a rectangular region for OCR scanning
var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// A méretek px-ben vannak megadva
// Add the image and specify the region for OCR
Input.Add("document.png", ContentArea);
// Perform the OCR operation
var Result = Ocr.Read(Input);
// Output the result from the specified area
Console.WriteLine(Result.Text);
}
```
<h3>OCR alacsony minőségű vizsgálatokhoz</h3>
<p>Az IronOCR <code>OcrInput</code> osztály javíthatja azokat a beolvasásokat, amelyeket a normál Tesseract nem tud olvasni.</p>
```csharp
using IronOcr;
// Initialize IronTesseract for OCR with low-quality image handling
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement to handle Input disposal
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
// Improve image quality: DeNoise reduces digital noise
Input.DeNoise();
// Deskew corrects rotation and perspective issues
Input.Deskew();
// Perform OCR on the input
var Result = Ocr.Read(Input);
// Output the OCR result text
Console.WriteLine(Result.Text);
}
```
<h3>Exportálja az OCR-eredményeket kereshető PDF-fájlként</h3>
<p>Kép PDF-be másolható szöveges karakterláncokkal. Keresőmotorok és adatbázisok indexelhetik.</p>
```csharp
using IronOcr;
// Initialize IronTesseract for OCR PDF conversion
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement for managing OcrInput resources
using (var Input = new OcrInput())
{
// Set the title for the PDF document
Input.Title = "Quarterly Report";
// Add images to be included in the PDF
Input.AddImage("image1.jpeg");
Input.AddImage("image2.png");
Input.AddImage("image3.gif");
// Perform OCR and save the result as a searchable PDF
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
```
<h3>TIFF - kereshető PDF-konvertálás</h3>
<p>Konvertálja a TIFF dokumentumot (vagy bármilyen képfájl-csoportot) közvetlenül kereshető PDF-be, amelyet az intranet, a webhely és a Google keresőmotorjai indexelhetnek.</p>
```csharp
using IronOcr;
// Initialize IronTesseract for TIFF to PDF conversion
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement for managing input resources
using (var Input = new OcrInput())
{
// Add a multi-frame TIFF to the OCR input
Input.AddMultiFrameTiff("example.tiff");
// Perform OCR, save as a searchable PDF
var Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");
}
```
<h3>Exportálja az OCR eredményeket HTML formátumban</h3>
<p>OCR kép XHTML konvertálás.</p>
```csharp
using IronOcr;
// Initialize IronTesseract for OCR to HTML
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement to manage input resources
using (var Input = new OcrInput())
{
// Set the HTML title
Input.Title = "Html Title";
// Add images to be OCR processed
Input.AddImage("image1.jpeg");
// Conduct OCR and save results as an XHTML file
var Result = Ocr.Read(Input);
Result.SaveAsHocrFile("results.html");
}
```
<h2>OCR képjavító szűrők</h2>
<p>Az IronOCR egyedülálló szűrőket biztosít az <code>OcrInput</code> objektumokhoz az OCR teljesítményének javítása érdekében.</p>
<h3>Képjavító kód példa</h3>
<p>Az OCR bemeneti képeket jobb minőségűvé teszi, hogy jobb, gyorsabb OCR eredményeket hozzon létre.</p>
```csharp
using IronOcr;
// Initialize IronTesseract for OCR operation
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Manage the input resource with a using statement
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
// Improve image quality: DeNoise and Deskew
Input.DeNoise(); // Reduces noise
Input.Deskew(); // Corrects skewing
// Perform OCR and obtain the result
var Result = Ocr.Read(Input);
// Output the OCR text result
Console.WriteLine(Result.Text);
}
```
<h3>OCR képszűrők listája</h3>
<p>Az OCR teljesítményének növelése érdekében az IronOCR-be beépített bemeneti szűrők a következők:</p>
<ul>
<li><strong>OcrInput.Rotate (double degrees)</strong> - A képeket több fokkal elforgatja az óramutató járásával megegyező irányba. Az óramutató járásával ellentétes irányba használjon negatív számokat.</li>
<li><strong>OcrInput.Binarize ()</strong> - Ez a képszűrő minden képpontot fekete vagy fehér színűvé tesz, középút nélkül. Javíthatja az OCR-teljesítmény eseteit, amikor a szöveg nagyon alacsony kontrasztú a háttérrel.</li>
<li><strong>OcrInput.ToGrayScale ()</strong> - Ez a képszűrő minden pixelt szürkeárnyalatos árnyalattá alakít. Nem valószínű, hogy javítja az OCR pontosságát, de javíthatja a sebességet.</li>
<li><strong>OcrInput.Contrast ()</strong> - Automatikusan növeli a kontrasztot. Ez a szűrő alacsony kontrasztú szkenneléseknél gyakran javítja az OCR sebességét és pontosságát.</li>
<li><strong>OcrInput.DeNoise ()</strong> - Eltávolítja a digitális zajt. Ezt a szűrőt csak ott szabad használni, ahol zaj várható.</li>
<li><strong>OcrInput.Invert ()</strong> - Minden színt megfordít. Pl. A fehér feketévé válik: a fekete fehérré válik.</li>
<li><strong>OcrInput.Dilate ()</strong> - Haladó morfológia. <em>A tágulás</em> pixeleket ad hozzá a képen lévő objektumok határaihoz. Erode-val szemben.</li>
<li><strong>OcrInput.Erode ()</strong> - Haladó morfológia. <em>Az erózió</em> eltávolítja a képpontokat az objektumhatárokon.</li>
<li><strong>OcrInput.Deskew ()</strong> - Elforgat egy képet, így az a helyes út felfelé és merőleges. Ez nagyon hasznos az OCR esetében, mert a ferde beolvasások Tesseract toleranciája akár 5 fok is lehet.</li>
<li><strong>OcrInput.DeepCleanBackgroundNoise ()</strong> - Erős háttérzaj eltávolítás. Csak akkor használja ezt a szűrőt, ha szélsőséges dokumentum háttérzaj ismert, mert ez a szűrő a tiszta dokumentumok OCR-pontosságának csökkenését is megkockáztathatja, és nagyon CPU-költséges.</li>
<li><strong>OcrInput.EnhanceResolution</strong> - Fokozza az alacsony minőségű képek felbontását. Erre a szűrőre gyakran nincs szükség, mert az <em>OcrInput.MinimumDPI</em> és az <em>OcrInput.TargetDPI</em> automatikusan elkapja és megoldja az alacsony felbontású bemeneteket.</li>
</ul>
<p><strong>CleanBackgroundNoise.</strong> Ez egy kissé időigényes beállítás; ugyanakkor lehetővé teszi a könyvtár számára, hogy automatikusan megtisztítsa a digitális zajt, a papír gyűrődéseit és egyéb hiányosságait egy digitális képen belül, ami egyébként képtelenné tenné a többi OCR könyvtár olvasására.</p>
<p><strong>Az EnhanceContrast</strong> egy olyan beállítás, amely miatt az IronOCR automatikusan megnöveli a szöveg kontrasztját a kép hátterében, növelve az OCR pontosságát, és általában növelve az OCR teljesítményét és sebességét.</p>
<p><strong>Az EnhanceResolution</strong> egy olyan beállítás, amely automatikusan észleli az alacsony felbontású (275 dpi alatti) képeket, automatikusan <strong>felnagyítja</strong> a képet, majd az egész szöveget élesíti, hogy az OCR könyvtár tökéletesen olvasható legyen. Bár ez a művelet önmagában időigényes, általában csökkenti a kép OCR-műveletének teljes idejét.</p>
<p><strong>Nyelv</strong> IronOCR 22 nemzetközi nyelvcsomagot támogat, és a nyelvi beállítással kiválasztható egy vagy több nyelv, amelyet alkalmazni kell egy OCR művelethez.</p>
<p><strong>Stratégia Az</strong> IronOCR két stratégiát támogat. Választhatunk egy gyors és kevésbé pontos dokumentum-beolvasást, vagy egy olyan fejlett stratégiát használunk, amely néhány mesterséges intelligencia-modellt használ az OCR-szöveg pontosságának automatikus javításához azáltal, hogy a szavak statisztikai viszonyát egy mondatban vizsgálja.</p>
<p><strong>A ColorSpace</strong> egy olyan beállítás, amellyel választhatunk szürkeárnyalatos vagy színes OCR-t. Általában a szürkeárnyalatos a legjobb megoldás. Azonban néha, ha vannak hasonló árnyalatú, de nagyon eltérő színű szövegek vagy hátterek, akkor a színes színtér jobb eredményt nyújt.</p>
<p><strong>DetectWhiteTextOnDarkBackgrounds.</strong> Általában az összes OCR könyvtár arra számít, hogy fehér alapon fekete szöveget lát. Ez a beállítás lehetővé teszi, hogy az IronOCR automatikusan felismerje a negatívokat vagy a fehér szövegű sötét oldalakat, és elolvassa azokat.</p>
<p><strong>InputImageType.</strong> Ez a beállítás lehetővé teszi a fejlesztő számára, hogy irányítsa az OCR könyvtárat abban, hogy teljes dokumentumot vagy részletet, például képernyőképet néz.</p>
<p><strong>A RotateAndStraighten</strong> egy olyan speciális beállítás, amely lehetővé teszi az IronOCR számára azt az egyedülálló képességet, hogy elolvassa azokat a dokumentumokat, amelyek nemcsak el vannak forgatva, de esetleg perspektívát is tartalmaznak, például a szöveges dokumentumok fényképeit.</p>
<p><strong>A ReadBarcodes</strong> egy hasznos szolgáltatás, amely lehetővé teszi az IronOCR számára, hogy automatikusan olvassa a vonalkódokat és a QR-kódokat az oldalakon, miközben szövegeket is olvas, anélkül, hogy további jelentős <strong>időterhelést</strong> jelentene.</p>
<p><strong>Színmélység.</strong> Ez a beállítás határozza meg, hogy az OCR-könyvtár pixelenként hány bitet használjon a szín mélységének meghatározásához. A nagyobb színmélység növelheti az OCR minőségét, de megnöveli az OCR művelet befejezéséhez szükséges időt is.</p>
<h2>126 Nyelvcsomagok</h2>
<p>Az IronOCR <strong>126 nemzetközi nyelvet</strong> támogat <strong>nyelvcsomagokon</strong> keresztül, amelyeket DLL-ként terjesztenek, amelyek <a href="/csharp/ocr/languages/">letölthetők erről a webhelyről</a>, vagy a <a href="https://www.nuget.org/packages?q=IronOcr.Languages">NuGet Package Manager-ből</a>.</p>
<p>Nyelvek: német, francia, angol, kínai, japán és még sok más. Speciális nyelvi csomagok léteznek az MRZ útlevélhez, a MICR ellenőrzésekhez, a pénzügyi adatokhoz, a rendszámokhoz és még sok máshoz. Használhat bármilyen Tesseract ".traineddata" fájlt is, beleértve azokat is, amelyeket maga készített.</p>
<h3>Nyelv példa</h3>
<p>Egyéb OCR nyelvek használata.</p>
```csharp
// using IronOcr;
// Import the Arabic language package using NuGet: PM> Install IronOcr.Languages.Arabic
// Initialize IronTesseract with Arabic language for OCR
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// Using statement for managing input resources
using (var input = new OcrInput())
{
// Add an image with Arabic text for OCR
input.AddImage("img/arabic.gif");
// Optionally apply image filters here for better recognition
// Even with low quality input, IronTesseract can outperform traditional Tesseract
// Perform OCR operation
var Result = Ocr.Read(input);
// Because the console might not easily print Arabic on Windows, save it to a file instead
Result.SaveAsTextFile("arabic.txt");
}
```
<h3>Többnyelvű példa</h3>
<p>Lehetőség van OCR egyszerre több nyelv használatával is. Ez valóban segíthet az angol nyelvű metaadatok és URL-ek megszerzésében az Unicode dokumentumokban.</p>
```csharp
// using IronOcr;
// Install additional language package using NuGet: PM> Install IronOcr.Languages.ChineseSimplified
// Initialize IronTesseract with a primary language
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
// Add a secondary language for dual-language OCR capability
Ocr.AddSecondaryLanguage(OcrLanguage.Hungarian);
// Using statement for managing input resources
using (var input = new OcrInput())
{
// Add a document that contains multiple languages
input.Add("multi - language.pdf");
// Perform OCR operation
var Result = Ocr.Read(input);
// Save OCR text result to a file
Result.SaveAsTextFile("results.txt");
}
```
<h2>Részletes OCR eredmények objektumok</h2>
<p>A Vas OCR minden OCR művelethez OCR eredmény objektumot ad vissza. A fejlesztők általában csak az objektum szövegtulajdonságát használják a képről beolvasott szöveg lekérésére. Az OCR eredmények DOM azonban ennél sokkal fejlettebb.</p>
```csharp
using IronOcr;
using System.Drawing; // Add a reference for Rectangle usage
// Initialize IronTesseract with specific configuration
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
// Enable barcode reading
Ocr.Configuration.ReadBarCodes = true;
// Using statement to manage input resources
using (var Input = new OcrInput(@"images\sample.tiff"))
{
// Read the input image and get the OCR result object
OcrResult Result = Ocr.Read(Input);
// Access detailed API with pages, words, barcodes, etc.
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Explore the robust detailed API for:
// - Pages, Blocks, Paragraphs, Lines, Words, Characters
// - Image Export, Font Coordinates, Statistical data
}
```
<h2>Teljesítmény</h2>
<p>Az IronOCR a dobozból működik, nincs szükség a bemeneti képek teljesítményének hangolására vagy erős módosítására.</p>
<p>A sebesség lángol: Az IronOCR.2020 + akár tízszer gyorsabb és több mint 250% -kal kevesebb hibát okoz, mint a korábbi buildek.</p>
<h2>Tudj meg többet</h2>
<p>Ha többet szeretne megtudni az OCR-ről C#, VB, F# vagy bármely más .NET nyelven, kérjük, <a href="/csharp/ocr/tutorials/how-to-read-text-from-an-image-in-csharp-net/">olvassa el közösségi oktatóanyagainkat</a>, amelyek valós példákat mutatnak be az IronOCR használatára, és megmutatják az árnyalatokat, hogyan lehet a legjobban kihozni ezt a könyvtárat.</p>
<p>A <a href="/csharp/ocr/object-reference/api/">.NET fejlesztők számára</a> teljes <a href="/csharp/ocr/object-reference/api/">objektum-referencia</a> is rendelkezésre áll.</p>
Az IronOCR egy C# szoftverkomponens, amely lehetővé teszi a .NET-kódolók számára, hogy 126 nyelven olvassák el a képek és a PDF dokumentumok szövegét, beleértve a magyar nyelvet is.
Ez a Tesseract fejlett villája, amelyet kizárólag a .NET fejlesztők számára fejlesztettek ki, és a sebesség és a pontosság szempontjából is rendszeresen felülmúlja a többi Tesseract motort.
Az IronOCR tartalma. Nyelvek. Magyar
Ez a csomag 52 OCR nyelvet tartalmaz a .NET számára:
Az első dolog, amit meg kell tennünk, telepítenie kell a magyar OCR csomagunkat a .NET projektjébe.
PM> Install-Package IronOcr.Languages.Hungarian
Kódpélda
Ez a C# kód példa magyar nyelvű szöveget olvas le egy Image vagy PDF dokumentumról.
// Add the IronOcr namespace to use the OCR functionality.using IronOcr;varOcr = new IronTesseract();// Set the language to Hungarian for OCR processingOcr.Language = OcrLanguage.Hungarian;// Use a using statement to properly dispose of the OcrInput using (varInput = new OcrInput(@"images\Hungarian.png")){ // Read the text from the input image varResult = Ocr.Read(Input); // Store the extracted text varAllText = Result.Text; // Output the text or use it as neededConsole.WriteLine(AllText);}
// Add the IronOcr namespace to use the OCR functionality.
using IronOcr;
var Ocr = new IronTesseract();
// Set the language to Hungarian for OCR processing
Ocr.Language = OcrLanguage.Hungarian;
// Use a using statement to properly dispose of the OcrInput
using (var Input = new OcrInput(@"images\Hungarian.png"))
{
// Read the text from the input image
var Result = Ocr.Read(Input);
// Store the extracted text
var AllText = Result.Text;
// Output the text or use it as needed
Console.WriteLine(AllText);
}
' Add the IronOcr namespace to use the OCR functionality.ImportsIronOcrPrivateOcr = New IronTesseract()' Set the language to Hungarian for OCR processingOcr.Language = OcrLanguage.Hungarian' Use a using statement to properly dispose of the OcrInput UsingInput = New OcrInput("images\Hungarian.png") ' Read the text from the input image DimResult = Ocr.Read(Input) ' Store the extracted text DimAllText = Result.Text ' Output the text or use it as neededConsole.WriteLine(AllText)EndUsing
' Add the IronOcr namespace to use the OCR functionality.
Imports IronOcr
Private Ocr = New IronTesseract()
' Set the language to Hungarian for OCR processing
Ocr.Language = OcrLanguage.Hungarian
' Use a using statement to properly dispose of the OcrInput
Using Input = New OcrInput("images\Hungarian.png")
' Read the text from the input image
Dim Result = Ocr.Read(Input)
' Store the extracted text
Dim AllText = Result.Text
' Output the text or use it as needed
Console.WriteLine(AllText)
End Using
Miért válassza az IronOCR-t?
Az IronOCR egy könnyen telepíthető, teljes és jól dokumentált .NET szoftverkönyvtár.
Válassza az IronOCR lehetőséget, ha 99,8% + OCR pontosságot szeretne elérni, anélkül, hogy bármilyen külső webszolgáltatást, folyamatos díjakat vagy bizalmas dokumentumokat küldene az interneten.
Miért választják a C# fejlesztők az IronOCR-t a Vanilla Tesseract helyett:
Telepítés egyetlen DLL-ként vagy NuGet-ként
A dobozból kivéve a Tesseract 5, 4 és 3 motorokat.
A pontosság 99,8% -kal jelentősen felülmúlja a szokásos Tesseractot.
Lángoló sebesség és MultiThreading
Kompatibilis az MVC, a WebApp, az asztali, a konzol és a kiszolgálóalkalmazásokkal
Nincs Exes vagy C++ kód, amellyel működhetne
Teljes PDF OCR támogatás
Szinte bármilyen képfájl vagy PDF OCR végrehajtásához
126 nemzetközi nyelv, mindezeket NuGet vagy OcrData fájlokon keresztül kezelik
Kivonat képek, koordináták, statisztikák és betűtípusok. Nem csak szöveg.
Használható a Tesseract OCR terjesztésére kereskedelmi és saját alkalmazásokban.
A vas OCR akkor világít, ha valós képekkel és tökéletlen dokumentumokkal dolgozik, például fényképekkel, vagy alacsony felbontású beolvasásokkal, amelyek digitális zajjal vagy tökéletlenséggel járhatnak.
A .NET platform egyéb ingyenes OCR könyvtárai, mint például a .NET Tesseract API-k és a webszolgáltatások, nem teljesítenek ilyen jól a valós világban.
OCR a Tesseract 5-tel - Kezdje a kódolást C#-ben
Az alábbi kódminta megmutatja, hogy a C# vagy a VB .NET használatával milyen könnyen olvasható szöveg egy képből.
Egysoros
// Read text directly from an image with a single line of codestringText = new IronTesseract().Read(@"img\Screenshot.png").Text;
// Read text directly from an image with a single line of code
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
' Read text directly from an image with a single line of codeDimTextAsString = (New IronTesseract()).Read("img\Screenshot.png").Text
' Read text directly from an image with a single line of code
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
Konfigurálható Hello World
// Importing IronOcr libraryusing IronOcr;// Initialize IronTesseract for OCR processingvarOcr = new IronTesseract();// Set the language to HungarianOcr.Language = OcrLanguage.Hungarian;// Using a using statement to ensure resources are properly disposedusing (varInput = new OcrInput()){ // Add an image to the OCR inputInput.AddImage("images/sample.jpeg"); // ... you can add as many images as you want // Perform OCR and retrieve the result varResult = Ocr.Read(Input); // Print the OCR result textConsole.WriteLine(Result.Text);}
// Importing IronOcr library
using IronOcr;
// Initialize IronTesseract for OCR processing
var Ocr = new IronTesseract();
// Set the language to Hungarian
Ocr.Language = OcrLanguage.Hungarian;
// Using a using statement to ensure resources are properly disposed
using (var Input = new OcrInput())
{
// Add an image to the OCR input
Input.AddImage("images/sample.jpeg");
// ... you can add as many images as you want
// Perform OCR and retrieve the result
var Result = Ocr.Read(Input);
// Print the OCR result text
Console.WriteLine(Result.Text);
}
' Importing IronOcr libraryImportsIronOcr' Initialize IronTesseract for OCR processingPrivateOcr = New IronTesseract()' Set the language to HungarianOcr.Language = OcrLanguage.Hungarian' Using a using statement to ensure resources are properly disposedUsingInput = New OcrInput() ' Add an image to the OCR inputInput.AddImage("images/sample.jpeg") ' ... you can add as many images as you want ' Perform OCR and retrieve the result DimResult = Ocr.Read(Input) ' Print the OCR result textConsole.WriteLine(Result.Text)EndUsing
' Importing IronOcr library
Imports IronOcr
' Initialize IronTesseract for OCR processing
Private Ocr = New IronTesseract()
' Set the language to Hungarian
Ocr.Language = OcrLanguage.Hungarian
' Using a using statement to ensure resources are properly disposed
Using Input = New OcrInput()
' Add an image to the OCR input
Input.AddImage("images/sample.jpeg")
' ... you can add as many images as you want
' Perform OCR and retrieve the result
Dim Result = Ocr.Read(Input)
' Print the OCR result text
Console.WriteLine(Result.Text)
End Using
C# PDF OCR
Ugyanez a megközelítés hasonlóan alkalmazható bármilyen PDF dokumentum szövegének kinyerésére.
// Initialize IronTesseract for PDF OCRvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Hungarian;// Using statement to handle OcrInput disposalusing (var input = new OcrInput()){ // Add PDF to the input; specify password if needed input.AddPdf("example.pdf", "password"); // Kiválaszthatunk konkrét PDF oldalszámokat is az OCR számára // Perform OCR on the input varResult = Ocr.Read(input); // Output the OCR result textConsole.WriteLine(Result.Text); // Output the number of pages processedConsole.WriteLine($"{Result.Pages.Count()} Pages"); // 1 oldal a PDF minden oldalához}
// Initialize IronTesseract for PDF OCR
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement to handle OcrInput disposal
using (var input = new OcrInput())
{
// Add PDF to the input; specify password if needed
input.AddPdf("example.pdf", "password");
// Kiválaszthatunk konkrét PDF oldalszámokat is az OCR számára
// Perform OCR on the input
var Result = Ocr.Read(input);
// Output the OCR result text
Console.WriteLine(Result.Text);
// Output the number of pages processed
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 oldal a PDF minden oldalához
}
' Initialize IronTesseract for PDF OCRDimOcr = New IronTesseract()Ocr.Language = OcrLanguage.Hungarian' Using statement to handle OcrInput disposalUsing input = New OcrInput() ' Add PDF to the input; specify password if needed input.AddPdf("example.pdf", "password") ' Kiválaszthatunk konkrét PDF oldalszámokat is az OCR számára ' Perform OCR on the input DimResult = Ocr.Read(input) ' Output the OCR result textConsole.WriteLine(Result.Text) ' Output the number of pages processedConsole.WriteLine($"{Result.Pages.Count()} Pages") ' 1 oldal a PDF minden oldaláhozEndUsing
' Initialize IronTesseract for PDF OCR
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hungarian
' Using statement to handle OcrInput disposal
Using input = New OcrInput()
' Add PDF to the input; specify password if needed
input.AddPdf("example.pdf", "password")
' Kiválaszthatunk konkrét PDF oldalszámokat is az OCR számára
' Perform OCR on the input
Dim Result = Ocr.Read(input)
' Output the OCR result text
Console.WriteLine(Result.Text)
' Output the number of pages processed
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 oldal a PDF minden oldalához
End Using
OCR többoldalas TIFF-ekhez
OCR TIFF fájlformátum olvasása, többoldalas dokumentumokkal együtt. A TIFF közvetlenül konvertálható kereshető szöveget tartalmazó PDF fájlokká is.
using IronOcr;// Initialize IronTesseract for OCR processingvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Hungarian;// Using statement for managing resourcesusing (varInput = new OcrInput()){ // Add multi-frame TIFF file for OCRInput.AddMultiFrameTiff("multi - frame.tiff"); // Perform OCR and retrieve the result varResult = Ocr.Read(Input); // Output the OCR result textConsole.WriteLine(Result.Text);}
using IronOcr;
// Initialize IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement for managing resources
using (var Input = new OcrInput())
{
// Add multi-frame TIFF file for OCR
Input.AddMultiFrameTiff("multi - frame.tiff");
// Perform OCR and retrieve the result
var Result = Ocr.Read(Input);
// Output the OCR result text
Console.WriteLine(Result.Text);
}
ImportsIronOcr' Initialize IronTesseract for OCR processingPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Hungarian' Using statement for managing resourcesUsingInput = New OcrInput() ' Add multi-frame TIFF file for OCRInput.AddMultiFrameTiff("multi - frame.tiff") ' Perform OCR and retrieve the result DimResult = Ocr.Read(Input) ' Output the OCR result textConsole.WriteLine(Result.Text)EndUsing
Imports IronOcr
' Initialize IronTesseract for OCR processing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hungarian
' Using statement for managing resources
Using Input = New OcrInput()
' Add multi-frame TIFF file for OCR
Input.AddMultiFrameTiff("multi - frame.tiff")
' Perform OCR and retrieve the result
Dim Result = Ocr.Read(Input)
' Output the OCR result text
Console.WriteLine(Result.Text)
End Using
Vonalkódok és QR
Az IronOCR egyedülálló tulajdonsága, hogy vonalkódokat és QR-kódokat tud olvasni a dokumentumokból, miközben szöveget keres. Az OcrResult.OcrBarcode osztály OcrResult.OcrBarcode részletes információkat nyújtanak a fejlesztőnek az egyes beolvasott vonalkódokról.
// Importing IronOcr libraryusing IronOcr;// Initialize IronTesseract with barcode reading enabledvarOcr = new IronTesseract();Ocr.Configuration.ReadBarCodes = true;// Using statement for managing input resourcesusing (var input = new OcrInput()){ // Add an image containing a barcode input.AddImage("img/Barcode.png"); // Perform OCR operation varResult = Ocr.Read(input); // Iterate through each barcode found and print its value foreach (varBarcodeinResult.Barcodes) {Console.WriteLine(Barcode.Value); // Típus és elhelyezkedés tulajdonságai is ki vannak téve }}
// Importing IronOcr library
using IronOcr;
// Initialize IronTesseract with barcode reading enabled
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
// Using statement for managing input resources
using (var input = new OcrInput())
{
// Add an image containing a barcode
input.AddImage("img/Barcode.png");
// Perform OCR operation
var Result = Ocr.Read(input);
// Iterate through each barcode found and print its value
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// Típus és elhelyezkedés tulajdonságai is ki vannak téve
}
}
' Importing IronOcr libraryImportsIronOcr' Initialize IronTesseract with barcode reading enabledPrivateOcr = New IronTesseract()Ocr.Configuration.ReadBarCodes = True' Using statement for managing input resourcesUsing input = New OcrInput() ' Add an image containing a barcode input.AddImage("img/Barcode.png") ' Perform OCR operation DimResult = Ocr.Read(input) ' Iterate through each barcode found and print its value For EachBarcodeInResult.BarcodesConsole.WriteLine(Barcode.Value) ' Típus és elhelyezkedés tulajdonságai is ki vannak téve NextBarcodeEndUsing
' Importing IronOcr library
Imports IronOcr
' Initialize IronTesseract with barcode reading enabled
Private Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True
' Using statement for managing input resources
Using input = New OcrInput()
' Add an image containing a barcode
input.AddImage("img/Barcode.png")
' Perform OCR operation
Dim Result = Ocr.Read(input)
' Iterate through each barcode found and print its value
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' Típus és elhelyezkedés tulajdonságai is ki vannak téve
Next Barcode
End Using
OCR a képek meghatározott területein
Az IronOCR összes szkennelési és olvasási módja lehetővé teszi, hogy pontosan meghatározzuk az oldal vagy oldalak mely részéből szeretnénk szöveget olvasni. Ez nagyon hasznos, ha szabványosított űrlapokat vizsgálunk, és nagyon sok időt takaríthat meg, és javíthatja a hatékonyságot.
A vágási régiók használatához hozzá kell adnunk egy rendszer hivatkozást a System.Drawing, hogy használhassuk a System.Drawing.Rectangle objektumot.
using IronOcr;using System.Drawing; // For defining the rectangle area// Initialize IronTesseract for OCR processingvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Hungarian;// Using statement to ensure disposal of resourcesusing (varInput = new OcrInput()){ // Define a rectangular region for OCR scanning varContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 }; // A méretek px-ben vannak megadva // Add the image and specify the region for OCRInput.Add("document.png", ContentArea); // Perform the OCR operation varResult = Ocr.Read(Input); // Output the result from the specified areaConsole.WriteLine(Result.Text);}
using IronOcr;
using System.Drawing; // For defining the rectangle area
// Initialize IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement to ensure disposal of resources
using (var Input = new OcrInput())
{
// Define a rectangular region for OCR scanning
var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// A méretek px-ben vannak megadva
// Add the image and specify the region for OCR
Input.Add("document.png", ContentArea);
// Perform the OCR operation
var Result = Ocr.Read(Input);
// Output the result from the specified area
Console.WriteLine(Result.Text);
}
ImportsIronOcrImportsSystem.Drawing' For defining the rectangle area' Initialize IronTesseract for OCR processingPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Hungarian' Using statement to ensure disposal of resourcesUsingInput = New OcrInput() ' Define a rectangular region for OCR scanning DimContentArea = New Rectangle() With { .X = 215, .Y = 1250, .Height = 280, .Width = 1335 } ' A méretek px-ben vannak megadva ' Add the image and specify the region for OCRInput.Add("document.png", ContentArea) ' Perform the OCR operation DimResult = Ocr.Read(Input) ' Output the result from the specified areaConsole.WriteLine(Result.Text)EndUsing
Imports IronOcr
Imports System.Drawing ' For defining the rectangle area
' Initialize IronTesseract for OCR processing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hungarian
' Using statement to ensure disposal of resources
Using Input = New OcrInput()
' Define a rectangular region for OCR scanning
Dim ContentArea = New Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
' A méretek px-ben vannak megadva
' Add the image and specify the region for OCR
Input.Add("document.png", ContentArea)
' Perform the OCR operation
Dim Result = Ocr.Read(Input)
' Output the result from the specified area
Console.WriteLine(Result.Text)
End Using
OCR alacsony minőségű vizsgálatokhoz
Az IronOCR OcrInput osztály javíthatja azokat a beolvasásokat, amelyeket a normál Tesseract nem tud olvasni.
using IronOcr;// Initialize IronTesseract for OCR with low-quality image handlingvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Hungarian;// Using statement to handle Input disposalusing (varInput = new OcrInput(@"img\Potter.LowQuality.tiff")){ // Improve image quality: DeNoise reduces digital noiseInput.DeNoise(); // Deskew corrects rotation and perspective issuesInput.Deskew(); // Perform OCR on the input varResult = Ocr.Read(Input); // Output the OCR result textConsole.WriteLine(Result.Text);}
using IronOcr;
// Initialize IronTesseract for OCR with low-quality image handling
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement to handle Input disposal
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
// Improve image quality: DeNoise reduces digital noise
Input.DeNoise();
// Deskew corrects rotation and perspective issues
Input.Deskew();
// Perform OCR on the input
var Result = Ocr.Read(Input);
// Output the OCR result text
Console.WriteLine(Result.Text);
}
ImportsIronOcr' Initialize IronTesseract for OCR with low-quality image handlingPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Hungarian' Using statement to handle Input disposalUsingInput = New OcrInput("img\Potter.LowQuality.tiff") ' Improve image quality: DeNoise reduces digital noiseInput.DeNoise() ' Deskew corrects rotation and perspective issuesInput.Deskew() ' Perform OCR on the input DimResult = Ocr.Read(Input) ' Output the OCR result textConsole.WriteLine(Result.Text)EndUsing
Imports IronOcr
' Initialize IronTesseract for OCR with low-quality image handling
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hungarian
' Using statement to handle Input disposal
Using Input = New OcrInput("img\Potter.LowQuality.tiff")
' Improve image quality: DeNoise reduces digital noise
Input.DeNoise()
' Deskew corrects rotation and perspective issues
Input.Deskew()
' Perform OCR on the input
Dim Result = Ocr.Read(Input)
' Output the OCR result text
Console.WriteLine(Result.Text)
End Using
Exportálja az OCR-eredményeket kereshető PDF-fájlként
Kép PDF-be másolható szöveges karakterláncokkal. Keresőmotorok és adatbázisok indexelhetik.
using IronOcr;// Initialize IronTesseract for OCR PDF conversionvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Hungarian;// Using statement for managing OcrInput resourcesusing (varInput = new OcrInput()){ // Set the title for the PDF documentInput.Title = "Quarterly Report"; // Add images to be included in the PDFInput.AddImage("image1.jpeg");Input.AddImage("image2.png");Input.AddImage("image3.gif"); // Perform OCR and save the result as a searchable PDF varResult = Ocr.Read(Input);Result.SaveAsSearchablePdf("searchable.pdf");}
using IronOcr;
// Initialize IronTesseract for OCR PDF conversion
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement for managing OcrInput resources
using (var Input = new OcrInput())
{
// Set the title for the PDF document
Input.Title = "Quarterly Report";
// Add images to be included in the PDF
Input.AddImage("image1.jpeg");
Input.AddImage("image2.png");
Input.AddImage("image3.gif");
// Perform OCR and save the result as a searchable PDF
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
ImportsIronOcr' Initialize IronTesseract for OCR PDF conversionPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Hungarian' Using statement for managing OcrInput resourcesUsingInput = New OcrInput() ' Set the title for the PDF documentInput.Title = "Quarterly Report" ' Add images to be included in the PDFInput.AddImage("image1.jpeg")Input.AddImage("image2.png")Input.AddImage("image3.gif") ' Perform OCR and save the result as a searchable PDF DimResult = Ocr.Read(Input)Result.SaveAsSearchablePdf("searchable.pdf")EndUsing
Imports IronOcr
' Initialize IronTesseract for OCR PDF conversion
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hungarian
' Using statement for managing OcrInput resources
Using Input = New OcrInput()
' Set the title for the PDF document
Input.Title = "Quarterly Report"
' Add images to be included in the PDF
Input.AddImage("image1.jpeg")
Input.AddImage("image2.png")
Input.AddImage("image3.gif")
' Perform OCR and save the result as a searchable PDF
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
TIFF - kereshető PDF-konvertálás
Konvertálja a TIFF dokumentumot (vagy bármilyen képfájl-csoportot) közvetlenül kereshető PDF-be, amelyet az intranet, a webhely és a Google keresőmotorjai indexelhetnek.
using IronOcr;// Initialize IronTesseract for TIFF to PDF conversionvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Hungarian;// Using statement for managing input resourcesusing (varInput = new OcrInput()){ // Add a multi-frame TIFF to the OCR inputInput.AddMultiFrameTiff("example.tiff"); // Perform OCR, save as a searchable PDF varResult = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");}
using IronOcr;
// Initialize IronTesseract for TIFF to PDF conversion
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement for managing input resources
using (var Input = new OcrInput())
{
// Add a multi-frame TIFF to the OCR input
Input.AddMultiFrameTiff("example.tiff");
// Perform OCR, save as a searchable PDF
var Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");
}
ImportsIronOcr' Initialize IronTesseract for TIFF to PDF conversionPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Hungarian' Using statement for managing input resourcesUsingInput = New OcrInput() ' Add a multi-frame TIFF to the OCR inputInput.AddMultiFrameTiff("example.tiff") ' Perform OCR, save as a searchable PDF DimResult = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf")EndUsing
Imports IronOcr
' Initialize IronTesseract for TIFF to PDF conversion
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hungarian
' Using statement for managing input resources
Using Input = New OcrInput()
' Add a multi-frame TIFF to the OCR input
Input.AddMultiFrameTiff("example.tiff")
' Perform OCR, save as a searchable PDF
Dim Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf")
End Using
Exportálja az OCR eredményeket HTML formátumban
OCR kép XHTML konvertálás.
using IronOcr;// Initialize IronTesseract for OCR to HTMLvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Hungarian;// Using statement to manage input resourcesusing (varInput = new OcrInput()){ // Set the HTML titleInput.Title = "Html Title"; // Add images to be OCR processedInput.AddImage("image1.jpeg"); // Conduct OCR and save results as an XHTML file varResult = Ocr.Read(Input);Result.SaveAsHocrFile("results.html");}
using IronOcr;
// Initialize IronTesseract for OCR to HTML
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Using statement to manage input resources
using (var Input = new OcrInput())
{
// Set the HTML title
Input.Title = "Html Title";
// Add images to be OCR processed
Input.AddImage("image1.jpeg");
// Conduct OCR and save results as an XHTML file
var Result = Ocr.Read(Input);
Result.SaveAsHocrFile("results.html");
}
ImportsIronOcr' Initialize IronTesseract for OCR to HTMLPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Hungarian' Using statement to manage input resourcesUsingInput = New OcrInput() ' Set the HTML titleInput.Title = "Html Title" ' Add images to be OCR processedInput.AddImage("image1.jpeg") ' Conduct OCR and save results as an XHTML file DimResult = Ocr.Read(Input)Result.SaveAsHocrFile("results.html")EndUsing
Imports IronOcr
' Initialize IronTesseract for OCR to HTML
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hungarian
' Using statement to manage input resources
Using Input = New OcrInput()
' Set the HTML title
Input.Title = "Html Title"
' Add images to be OCR processed
Input.AddImage("image1.jpeg")
' Conduct OCR and save results as an XHTML file
Dim Result = Ocr.Read(Input)
Result.SaveAsHocrFile("results.html")
End Using
OCR képjavító szűrők
Az IronOCR egyedülálló szűrőket biztosít az OcrInput objektumokhoz az OCR teljesítményének javítása érdekében.
Képjavító kód példa
Az OCR bemeneti képeket jobb minőségűvé teszi, hogy jobb, gyorsabb OCR eredményeket hozzon létre.
using IronOcr;// Initialize IronTesseract for OCR operationvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Hungarian;// Manage the input resource with a using statementusing (varInput = new OcrInput(@"LowQuality.jpeg")){ // Improve image quality: DeNoise and DeskewInput.DeNoise(); // Reduces noiseInput.Deskew(); // Corrects skewing // Perform OCR and obtain the result varResult = Ocr.Read(Input); // Output the OCR text resultConsole.WriteLine(Result.Text);}
using IronOcr;
// Initialize IronTesseract for OCR operation
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
// Manage the input resource with a using statement
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
// Improve image quality: DeNoise and Deskew
Input.DeNoise(); // Reduces noise
Input.Deskew(); // Corrects skewing
// Perform OCR and obtain the result
var Result = Ocr.Read(Input);
// Output the OCR text result
Console.WriteLine(Result.Text);
}
ImportsIronOcr' Initialize IronTesseract for OCR operationPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Hungarian' Manage the input resource with a using statementUsingInput = New OcrInput("LowQuality.jpeg") ' Improve image quality: DeNoise and DeskewInput.DeNoise() ' Reduces noiseInput.Deskew() ' Corrects skewing ' Perform OCR and obtain the result DimResult = Ocr.Read(Input) ' Output the OCR text resultConsole.WriteLine(Result.Text)EndUsing
Imports IronOcr
' Initialize IronTesseract for OCR operation
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hungarian
' Manage the input resource with a using statement
Using Input = New OcrInput("LowQuality.jpeg")
' Improve image quality: DeNoise and Deskew
Input.DeNoise() ' Reduces noise
Input.Deskew() ' Corrects skewing
' Perform OCR and obtain the result
Dim Result = Ocr.Read(Input)
' Output the OCR text result
Console.WriteLine(Result.Text)
End Using
OCR képszűrők listája
Az OCR teljesítményének növelése érdekében az IronOCR-be beépített bemeneti szűrők a következők:
OcrInput.Rotate (double degrees) - A képeket több fokkal elforgatja az óramutató járásával megegyező irányba. Az óramutató járásával ellentétes irányba használjon negatív számokat.
OcrInput.Binarize () - Ez a képszűrő minden képpontot fekete vagy fehér színűvé tesz, középút nélkül. Javíthatja az OCR-teljesítmény eseteit, amikor a szöveg nagyon alacsony kontrasztú a háttérrel.
OcrInput.ToGrayScale () - Ez a képszűrő minden pixelt szürkeárnyalatos árnyalattá alakít. Nem valószínű, hogy javítja az OCR pontosságát, de javíthatja a sebességet.
OcrInput.Contrast () - Automatikusan növeli a kontrasztot. Ez a szűrő alacsony kontrasztú szkenneléseknél gyakran javítja az OCR sebességét és pontosságát.
OcrInput.DeNoise () - Eltávolítja a digitális zajt. Ezt a szűrőt csak ott szabad használni, ahol zaj várható.
OcrInput.Invert () - Minden színt megfordít. Pl. A fehér feketévé válik: a fekete fehérré válik.
OcrInput.Dilate () - Haladó morfológia. A tágulás pixeleket ad hozzá a képen lévő objektumok határaihoz. Erode-val szemben.
OcrInput.Erode () - Haladó morfológia. Az erózió eltávolítja a képpontokat az objektumhatárokon.
OcrInput.Deskew () - Elforgat egy képet, így az a helyes út felfelé és merőleges. Ez nagyon hasznos az OCR esetében, mert a ferde beolvasások Tesseract toleranciája akár 5 fok is lehet.
OcrInput.DeepCleanBackgroundNoise () - Erős háttérzaj eltávolítás. Csak akkor használja ezt a szűrőt, ha szélsőséges dokumentum háttérzaj ismert, mert ez a szűrő a tiszta dokumentumok OCR-pontosságának csökkenését is megkockáztathatja, és nagyon CPU-költséges.
OcrInput.EnhanceResolution - Fokozza az alacsony minőségű képek felbontását. Erre a szűrőre gyakran nincs szükség, mert az OcrInput.MinimumDPI és az OcrInput.TargetDPI automatikusan elkapja és megoldja az alacsony felbontású bemeneteket.
CleanBackgroundNoise. Ez egy kissé időigényes beállítás; ugyanakkor lehetővé teszi a könyvtár számára, hogy automatikusan megtisztítsa a digitális zajt, a papír gyűrődéseit és egyéb hiányosságait egy digitális képen belül, ami egyébként képtelenné tenné a többi OCR könyvtár olvasására.
Az EnhanceContrast egy olyan beállítás, amely miatt az IronOCR automatikusan megnöveli a szöveg kontrasztját a kép hátterében, növelve az OCR pontosságát, és általában növelve az OCR teljesítményét és sebességét.
Az EnhanceResolution egy olyan beállítás, amely automatikusan észleli az alacsony felbontású (275 dpi alatti) képeket, automatikusan felnagyítja a képet, majd az egész szöveget élesíti, hogy az OCR könyvtár tökéletesen olvasható legyen. Bár ez a művelet önmagában időigényes, általában csökkenti a kép OCR-műveletének teljes idejét.
Nyelv IronOCR 22 nemzetközi nyelvcsomagot támogat, és a nyelvi beállítással kiválasztható egy vagy több nyelv, amelyet alkalmazni kell egy OCR művelethez.
Stratégia Az IronOCR két stratégiát támogat. Választhatunk egy gyors és kevésbé pontos dokumentum-beolvasást, vagy egy olyan fejlett stratégiát használunk, amely néhány mesterséges intelligencia-modellt használ az OCR-szöveg pontosságának automatikus javításához azáltal, hogy a szavak statisztikai viszonyát egy mondatban vizsgálja.
A ColorSpace egy olyan beállítás, amellyel választhatunk szürkeárnyalatos vagy színes OCR-t. Általában a szürkeárnyalatos a legjobb megoldás. Azonban néha, ha vannak hasonló árnyalatú, de nagyon eltérő színű szövegek vagy hátterek, akkor a színes színtér jobb eredményt nyújt.
DetectWhiteTextOnDarkBackgrounds. Általában az összes OCR könyvtár arra számít, hogy fehér alapon fekete szöveget lát. Ez a beállítás lehetővé teszi, hogy az IronOCR automatikusan felismerje a negatívokat vagy a fehér szövegű sötét oldalakat, és elolvassa azokat.
InputImageType. Ez a beállítás lehetővé teszi a fejlesztő számára, hogy irányítsa az OCR könyvtárat abban, hogy teljes dokumentumot vagy részletet, például képernyőképet néz.
A RotateAndStraighten egy olyan speciális beállítás, amely lehetővé teszi az IronOCR számára azt az egyedülálló képességet, hogy elolvassa azokat a dokumentumokat, amelyek nemcsak el vannak forgatva, de esetleg perspektívát is tartalmaznak, például a szöveges dokumentumok fényképeit.
A ReadBarcodes egy hasznos szolgáltatás, amely lehetővé teszi az IronOCR számára, hogy automatikusan olvassa a vonalkódokat és a QR-kódokat az oldalakon, miközben szövegeket is olvas, anélkül, hogy további jelentős időterhelést jelentene.
Színmélység. Ez a beállítás határozza meg, hogy az OCR-könyvtár pixelenként hány bitet használjon a szín mélységének meghatározásához. A nagyobb színmélység növelheti az OCR minőségét, de megnöveli az OCR művelet befejezéséhez szükséges időt is.
Nyelvek: német, francia, angol, kínai, japán és még sok más. Speciális nyelvi csomagok léteznek az MRZ útlevélhez, a MICR ellenőrzésekhez, a pénzügyi adatokhoz, a rendszámokhoz és még sok máshoz. Használhat bármilyen Tesseract ".traineddata" fájlt is, beleértve azokat is, amelyeket maga készített.
Nyelv példa
Egyéb OCR nyelvek használata.
// using IronOcr;// Import the Arabic language package using NuGet: PM> Install IronOcr.Languages.Arabic// Initialize IronTesseract with Arabic language for OCRvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Arabic;// Using statement for managing input resourcesusing (var input = new OcrInput()){ // Add an image with Arabic text for OCR input.AddImage("img/arabic.gif"); // Optionally apply image filters here for better recognition // Even with low quality input, IronTesseract can outperform traditional Tesseract // Perform OCR operation varResult = Ocr.Read(input); // Because the console might not easily print Arabic on Windows, save it to a file insteadResult.SaveAsTextFile("arabic.txt");}
// using IronOcr;
// Import the Arabic language package using NuGet: PM> Install IronOcr.Languages.Arabic
// Initialize IronTesseract with Arabic language for OCR
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// Using statement for managing input resources
using (var input = new OcrInput())
{
// Add an image with Arabic text for OCR
input.AddImage("img/arabic.gif");
// Optionally apply image filters here for better recognition
// Even with low quality input, IronTesseract can outperform traditional Tesseract
// Perform OCR operation
var Result = Ocr.Read(input);
// Because the console might not easily print Arabic on Windows, save it to a file instead
Result.SaveAsTextFile("arabic.txt");
}
' using IronOcr;' Import the Arabic language package using NuGet: PM> Install IronOcr.Languages.Arabic' Initialize IronTesseract with Arabic language for OCRDimOcr = New IronTesseract()Ocr.Language = OcrLanguage.Arabic' Using statement for managing input resourcesUsing input = New OcrInput() ' Add an image with Arabic text for OCR input.AddImage("img/arabic.gif") ' Optionally apply image filters here for better recognition ' Even with low quality input, IronTesseract can outperform traditional Tesseract ' Perform OCR operation DimResult = Ocr.Read(input) ' Because the console might not easily print Arabic on Windows, save it to a file insteadResult.SaveAsTextFile("arabic.txt")EndUsing
' using IronOcr;
' Import the Arabic language package using NuGet: PM> Install IronOcr.Languages.Arabic
' Initialize IronTesseract with Arabic language for OCR
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
' Using statement for managing input resources
Using input = New OcrInput()
' Add an image with Arabic text for OCR
input.AddImage("img/arabic.gif")
' Optionally apply image filters here for better recognition
' Even with low quality input, IronTesseract can outperform traditional Tesseract
' Perform OCR operation
Dim Result = Ocr.Read(input)
' Because the console might not easily print Arabic on Windows, save it to a file instead
Result.SaveAsTextFile("arabic.txt")
End Using
Többnyelvű példa
Lehetőség van OCR egyszerre több nyelv használatával is. Ez valóban segíthet az angol nyelvű metaadatok és URL-ek megszerzésében az Unicode dokumentumokban.
// using IronOcr;// Install additional language package using NuGet: PM> Install IronOcr.Languages.ChineseSimplified// Initialize IronTesseract with a primary languagevarOcr = new IronTesseract();Ocr.Language = OcrLanguage.ChineseSimplified;// Add a secondary language for dual-language OCR capabilityOcr.AddSecondaryLanguage(OcrLanguage.Hungarian);// Using statement for managing input resourcesusing (var input = new OcrInput()){ // Add a document that contains multiple languages input.Add("multi - language.pdf"); // Perform OCR operation varResult = Ocr.Read(input); // Save OCR text result to a fileResult.SaveAsTextFile("results.txt");}
// using IronOcr;
// Install additional language package using NuGet: PM> Install IronOcr.Languages.ChineseSimplified
// Initialize IronTesseract with a primary language
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
// Add a secondary language for dual-language OCR capability
Ocr.AddSecondaryLanguage(OcrLanguage.Hungarian);
// Using statement for managing input resources
using (var input = new OcrInput())
{
// Add a document that contains multiple languages
input.Add("multi - language.pdf");
// Perform OCR operation
var Result = Ocr.Read(input);
// Save OCR text result to a file
Result.SaveAsTextFile("results.txt");
}
' using IronOcr;' Install additional language package using NuGet: PM> Install IronOcr.Languages.ChineseSimplified' Initialize IronTesseract with a primary languageDimOcr = New IronTesseract()Ocr.Language = OcrLanguage.ChineseSimplified' Add a secondary language for dual-language OCR capabilityOcr.AddSecondaryLanguage(OcrLanguage.Hungarian)' Using statement for managing input resourcesUsing input = New OcrInput() ' Add a document that contains multiple languages input.Add("multi - language.pdf") ' Perform OCR operation DimResult = Ocr.Read(input) ' Save OCR text result to a fileResult.SaveAsTextFile("results.txt")EndUsing
' using IronOcr;
' Install additional language package using NuGet: PM> Install IronOcr.Languages.ChineseSimplified
' Initialize IronTesseract with a primary language
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
' Add a secondary language for dual-language OCR capability
Ocr.AddSecondaryLanguage(OcrLanguage.Hungarian)
' Using statement for managing input resources
Using input = New OcrInput()
' Add a document that contains multiple languages
input.Add("multi - language.pdf")
' Perform OCR operation
Dim Result = Ocr.Read(input)
' Save OCR text result to a file
Result.SaveAsTextFile("results.txt")
End Using
Részletes OCR eredmények objektumok
A Vas OCR minden OCR művelethez OCR eredmény objektumot ad vissza. A fejlesztők általában csak az objektum szövegtulajdonságát használják a képről beolvasott szöveg lekérésére. Az OCR eredmények DOM azonban ennél sokkal fejlettebb.
using IronOcr;using System.Drawing; // Add a reference for Rectangle usage// Initialize IronTesseract with specific configurationvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Hungarian;Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;// Enable barcode readingOcr.Configuration.ReadBarCodes = true;// Using statement to manage input resourcesusing (varInput = new OcrInput(@"images\sample.tiff")){ // Read the input image and get the OCR result object OcrResultResult = Ocr.Read(Input); // Access detailed API with pages, words, barcodes, etc. varPages = Result.Pages; varWords = Pages[0].Words; varBarcodes = Result.Barcodes; // Explore the robust detailed API for: // - Pages, Blocks, Paragraphs, Lines, Words, Characters // - Image Export, Font Coordinates, Statistical data}
using IronOcr;
using System.Drawing; // Add a reference for Rectangle usage
// Initialize IronTesseract with specific configuration
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
// Enable barcode reading
Ocr.Configuration.ReadBarCodes = true;
// Using statement to manage input resources
using (var Input = new OcrInput(@"images\sample.tiff"))
{
// Read the input image and get the OCR result object
OcrResult Result = Ocr.Read(Input);
// Access detailed API with pages, words, barcodes, etc.
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Explore the robust detailed API for:
// - Pages, Blocks, Paragraphs, Lines, Words, Characters
// - Image Export, Font Coordinates, Statistical data
}
ImportsIronOcrImportsSystem.Drawing' Add a reference for Rectangle usage' Initialize IronTesseract with specific configurationPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.HungarianOcr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm' Enable barcode readingOcr.Configuration.ReadBarCodes = True' Using statement to manage input resourcesUsingInput = New OcrInput("images\sample.tiff") ' Read the input image and get the OCR result object DimResultAsOcrResult = Ocr.Read(Input) ' Access detailed API with pages, words, barcodes, etc. DimPages = Result.Pages DimWords = Pages(0).Words DimBarcodes = Result.Barcodes ' Explore the robust detailed API for: ' - Pages, Blocks, Paragraphs, Lines, Words, Characters ' - Image Export, Font Coordinates, Statistical dataEndUsing
Imports IronOcr
Imports System.Drawing ' Add a reference for Rectangle usage
' Initialize IronTesseract with specific configuration
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hungarian
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
' Enable barcode reading
Ocr.Configuration.ReadBarCodes = True
' Using statement to manage input resources
Using Input = New OcrInput("images\sample.tiff")
' Read the input image and get the OCR result object
Dim Result As OcrResult = Ocr.Read(Input)
' Access detailed API with pages, words, barcodes, etc.
Dim Pages = Result.Pages
Dim Words = Pages(0).Words
Dim Barcodes = Result.Barcodes
' Explore the robust detailed API for:
' - Pages, Blocks, Paragraphs, Lines, Words, Characters
' - Image Export, Font Coordinates, Statistical data
End Using
Teljesítmény
Az IronOCR a dobozból működik, nincs szükség a bemeneti képek teljesítményének hangolására vagy erős módosítására.
A sebesség lángol: Az IronOCR.2020 + akár tízszer gyorsabb és több mint 250% -kal kevesebb hibát okoz, mint a korábbi buildek.
Tudj meg többet
Ha többet szeretne megtudni az OCR-ről C#, VB, F# vagy bármely más .NET nyelven, kérjük, olvassa el közösségi oktatóanyagainkat, amelyek valós példákat mutatnak be az IronOCR használatára, és megmutatják az árnyalatokat, hogyan lehet a legjobban kihozni ezt a könyvtárat.
Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.