C# PDF OCR

El OCR de documentos PDF es un caso de uso muy común en el desarrollo de software .NET en la vida real.

Puede que necesitemos realizar el OCR en un Pdf por varias razones, entre ellas:

  • Extraer contenidos para reutilizarlos o modernizarlos
  • Búsqueda en documentos PDF escaneados
  • Rellenar un índice de búsqueda.

    IronOCR proporciona una sólida API para que los desarrolladores de .net y C# realicen esta tarea. IronOCR amplía Tesseract 5 y añade funcionalidad PDF a los desarrolladores .NET.

Cómo realizar OCR en un PDF en C#

IronOcr proporciona una API robusta para extraer texto de PDFs y también para hacer búsquedas en PDFs escaneados usando C# y otros lenguajes .NET.

En el siguiente ejemplo de C# haremos OCR a un PDF existente.

using IronOcr;

var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddPdf("example.pdf"); 
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddPdf("example.pdf"); 
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Using Input = New OcrInput()
	Input.AddPdf("example.pdf")
	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
VB   C#

También podemos extraer texto de una o varias páginas concretas:

using IronOcr;

var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddPdfPages("example.pdf", new [] { 1, 2, 3 });
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddPdfPages("example.pdf", new [] { 1, 2, 3 });
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

PDF Resultados OCR Clase

El valor Resultado no sólo contiene el texto del PDF. También contiene información sobre Páginas, Párrafos, Líneas, Palabras , Caracteres y Códigos de Barras descubiertos en el documento PDF por IronOcr.

Podemos explorar la clase IronOcr.OcrResult en: https://ironsoftware.com/csharp/ocr/examples/results-objects/.

Creación de PDF con capacidad de búsqueda mediante OCR

Una de nuestras funciones de OCR más populares es la creación de PDF con capacidad de búsqueda a partir de escaneados. Esta capacidad de búsqueda hace que los PDF sean más accesibles para los usuarios y facilita su indexación en motores de búsqueda como ElasticSearch o incluso Google.

Hacer que un PDF escaneado existente permita realizar búsquedas

Este ejemplo de código tomará un documento PDF, mejorará la calidad de la imagen y devolverá un PDF con capacidad de búsqueda.

using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddPdf("scan.pdf")

    //  limpiar páginas retorcidas
    Input.Deskew();

    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddPdf("scan.pdf")

    //  limpiar páginas retorcidas
    Input.Deskew();

    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
	Input.AddPdf("scan.pdf") Input.Deskew()

	Dim Result = Ocr.Read(Input)
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

Convertir imágenes en un PDF con función de búsqueda

También podemos utilizar el OCR para convertir archivos de imágenes en un documento PDF con capacidad de búsqueda en C# / .NET

using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.Add(@"images\page1.png")
    Input.Add(@"images\page2.bmp")
    Input.Add(@"images\page3.tiff")

    //  limpiar páginas retorcidas
    Input.Deskew();
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.Add(@"images\page1.png")
    Input.Add(@"images\page2.bmp")
    Input.Add(@"images\page3.tiff")

    //  limpiar páginas retorcidas
    Input.Deskew();
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
	Input.Add("images\page1.png") Input.Add("images\page2.bmp") Input.Add("images\page3.tiff") Input.Deskew()
	Dim Result = Ocr.Read(Input)
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#