Others
Explore many other features from IronOCR – the ideal library for all your OCR needs!
File Type Supports
Multi-Page/Frame TIFFs & GIFs
Effortlessly process multi-page documents stored in TIFF and GIF formats. IronOcr reads all pages or frames in a single operation, saving you the complexity of splitting files manually.
Learn how to:Read Multi-Frame/Page GIFs and TIFFsusing IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Import TIFF/TIF
using var imageInput = new OcrImageInput("sample.tiff");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);Imports IronOcr
' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()
' Import TIFF/TIF
Using imageInput = New OcrImageInput("sample.tiff")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
End UsingPDF / PDF Stream
Accurately extract text directly from PDF files or memory streams, handling both native and scanned (image-based) PDFs with ease.
Learn how to:Read a PDF in .NET C#using IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add PDF
using var pdfInput = new OcrPdfInput("sample.pdf");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(pdfInput);Imports IronOcr
' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()
' Add PDF
Using pdfInput As New OcrPdfInput("sample.pdf")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(pdfInput)
End UsingImages (jpg, png, bmp)
IronOCR supports all standard image formats, such as JPG, PNG, and BMP. Simply provide the file path, and IronOCR will handle the rest.
Learn how to:Read Images in .NET C#using IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("Potter.png");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);Imports IronOcr
' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()
' Add image
Using imageInput = New OcrImageInput("Potter.png")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
End Using
Performance Booster
Multithreaded Tesseract OCR
Build highly scalable, responsive applications with full support for concurrent processing. Safely process multiple documents simultaneously in different threads for high-performance, server-side deployments.
Learn how to:Multithreaded Tesseract OCR in C#using IronOcr;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("sample.pdf");
// Image processing is automatically multi-threaded
ocrInput.Deskew();
// OCR reading is automatically multi-threaded too
var ocrResult = ocrTesseract.Read(ocrInput);Imports IronOcr
Dim ocrTesseract = New IronTesseract()
Using ocrInput = New OcrInput()
ocrInput.LoadPdf("sample.pdf")
' Image processing is automatically multi-threaded
ocrInput.Deskew()
' OCR reading is automatically multi-threaded too
Dim ocrResult = ocrTesseract.Read(ocrInput)
End UsingAbort Token
Maintain control over long-running OCR tasks. Use an abort token to gracefully suspend or cancel a process, which is useful for managing resources or implementing user-cancellable operations.
Learn how to:C# Tesseract Abort Tokenusing IronOcr;
using System.Threading;
// Opens a Large PDF which may need to be cancelled early
IronTesseract ocrTesseract = new IronTesseract() { Language = OcrLanguage.English };
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("sample.pdf");
// Starts a read on the PDF using IronOCR
OcrReadTask ocrRead = ocrTesseract.ReadAsync(ocrInput);
Thread.Sleep(1000); // Time passes...
// Cancellation Example:
ocrRead.Cancel();
ocrRead.Wait();Imports IronOcr
Imports System.Threading
' Opens a Large PDF which may need to be cancelled early
Dim ocrTesseract As New IronTesseract() With {.Language = OcrLanguage.English}
Using ocrInput As New OcrInput()
ocrInput.LoadPdf("sample.pdf")
' Starts a read on the PDF using IronOCR
Dim ocrRead As OcrReadTask = ocrTesseract.ReadAsync(ocrInput)
Thread.Sleep(1000) ' Time passes...
' Cancellation Example:
ocrRead.Cancel()
ocrRead.Wait()
End UsingTimeouts
Prevent your application from hanging on difficult or corrupt files. Set a specific timeout duration for any OCR process to ensure better resource management and system stability.
Learn how to:C# Tesseract Timeoutsusing IronOcr;
int cancel_time = 1000;
// Opens a Large PDF which may need to be cancelled early
IronTesseract ocrTesseract = new IronTesseract() { Language = OcrLanguage.English };
var ocrInput = new OcrInput();
ocrInput.LoadPdf("large-report.pdf");
// Starts a read on the PDF using IronOCR with specified cancel time
OcrReadTask ocrRead = ocrTesseract.ReadAsync(ocrInput, cancel_time);Imports IronOcr
Dim cancel_time As Integer = 1000
' Opens a Large PDF which may need to be cancelled early
Dim ocrTesseract As New IronTesseract() With {.Language = OcrLanguage.English}
Dim ocrInput = New OcrInput()
ocrInput.LoadPdf("large-report.pdf")
' Starts a read on the PDF using IronOCR with specified cancel time
Dim ocrRead As OcrReadTask = ocrTesseract.ReadAsync(ocrInput, cancel_time)OCR Process Tracking
Monitor the real-time progress of an OCR operation from 0% to 100%. This allows you to provide feedback to users with a progress bar or better estimate completion times for large jobs.
Learn how to:use Progress Tracking in .NET C#using IronOcr;
var ocrTesseract = new IronTesseract();
// Subscribe to OcrProgress event
ocrTesseract.OcrProgress += (_, ocrProgressEventsArgs) =>
{
Console.WriteLine("Progress(%) | Duration");
Console.WriteLine(" " + ocrProgressEventsArgs.ProgressPercent + "% | " + ocrProgressEventsArgs.Duration.TotalSeconds + "s");
};
using var input = new OcrInput();
input.LoadPdf("Experiences-in-Biodiversity-Research-A-Field-Course.pdf");
// Progress events will fire during the read operation
var result = ocrTesseract.Read(input);Imports IronOcr
Dim ocrTesseract = New IronTesseract()
' Subscribe to OcrProgress event
AddHandler ocrTesseract.OcrProgress, Sub(_, ocrProgressEventsArgs)
Console.WriteLine("Progress(%) | Duration")
Console.WriteLine(" " & ocrProgressEventsArgs.ProgressPercent & "% | " & ocrProgressEventsArgs.Duration.TotalSeconds & "s")
End Sub
Using input = New OcrInput()
input.LoadPdf("Experiences-in-Biodiversity-Research-A-Field-Course.pdf")
' Progress events will fire during the read operation
Dim result = ocrTesseract.Read(input)
End UsingReady to Get Started?
Nuget Downloads 6,236,385|Version:2026.9just released