Cómo leer PDF

por Chaknith Bin

PDF son las siglas de "Portable Document Format". Es un formato de archivo desarrollado por Adobe que conserva las fuentes, imágenes, gráficos y diseño de cualquier documento fuente, independientemente de la aplicación y plataforma utilizadas para crearlo. Los archivos PDF suelen utilizarse para compartir y visualizar documentos en un formato coherente, independientemente del software o hardware que se utilice para abrirlo. IronOcr maneja varias versiones de documentos PDF con facilidad.


Biblioteca NuGet C# para OCR

Instalar con NuGet

Install-Package IronOcr
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Leer ejemplo en PDF

Comience por instanciar la clase IronTesseract para realizar el OCR. A continuación, utilice una sentencia 'using' para crear un objeto OcrPdfInput, pasándole la ruta del archivo PDF. Por último, realice el OCR utilizando el método Read.

:path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-pdf.cs
using IronOcr;

//  Instanciar IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

//  Añadir PDF
using var pdfInput = new OcrPdfInput("Potter.pdf");
//  Realizar OCR
OcrResult ocrResult = ocrTesseract.Read(pdfInput);
Imports IronOcr

'  Instanciar IronTesseract
Private ocrTesseract As New IronTesseract()

'  Añadir PDF
Private pdfInput = New OcrPdfInput("Potter.pdf")
'  Realizar OCR
Private ocrResult As OcrResult = ocrTesseract.Read(pdfInput)
VB   C#
Leer archivo PDF

En la mayoría de los casos, no es necesario especificar la propiedad DPI. Sin embargo, proporcionar un número alto de PPP en la construcción de OcrPdfInput puede mejorar la precisión de la lectura.

Leer páginas PDF Ejemplo

Al leer páginas específicas de un documento PDF, el usuario puede especificar el número de índice de la página para la importación. Para ello, pase la lista de índices de página al parámetro PageIndices cuando construya el OcrPdfInput. Tenga en cuenta que los índices de página utilizan una numeración basada en ceros.

:path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-pdf-pages.cs
using IronOcr;
using System.Collections.Generic;

//  Instanciar IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

//  Crear lista de índices de páginas
List<int> pageIndices = new List<int>() { 0, 2 };

//  Añadir PDF
using var pdfInput = new OcrPdfInput("Potter.pdf", PageIndices: pageIndices);
//  Realizar OCR
OcrResult ocrResult = ocrTesseract.Read(pdfInput);
Imports IronOcr
Imports System.Collections.Generic

'  Instanciar IronTesseract
Private ocrTesseract As New IronTesseract()

'  Crear lista de índices de páginas
Private pageIndices As New List(Of Integer)() From {0, 2}

'  Añadir PDF
Private pdfInput = New OcrPdfInput("Potter.pdf", PageIndices:= pageIndices)
'  Realizar OCR
Private ocrResult As OcrResult = ocrTesseract.Read(pdfInput)
VB   C#

Especificar región de exploración

Al acotar el área de lectura, puede aumentar considerablemente la eficacia de la lectura. Para ello, puede especificar la región concreta del PDF importado que debe leerse. En el siguiente ejemplo de código, he ordenado a IronOcr que se centre únicamente en extraer el número de capítulo y el título.

:path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-specific-region.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

//  Instanciar IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

//  Especifique las regiones de cultivo
Rectangle[] scanRegions = { new Rectangle(550, 100, 600, 300) };

//  Añadir PDF
using (var pdfInput = new OcrPdfInput("Potter.pdf", ContentAreas: scanRegions))
{
    //  Realizar OCR
    OcrResult ocrResult = ocrTesseract.Read(pdfInput);

    //  Envía el resultado a la consola
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

'  Instanciar IronTesseract
Private ocrTesseract As New IronTesseract()

'  Especifique las regiones de cultivo
Private scanRegions() As Rectangle = { New Rectangle(550, 100, 600, 300) }

'  Añadir PDF
Using pdfInput = New OcrPdfInput("Potter.pdf", ContentAreas:= scanRegions)
	'  Realizar OCR
	Dim ocrResult As OcrResult = ocrTesseract.Read(pdfInput)

	'  Envía el resultado a la consola
	Console.WriteLine(ocrResult.Text)
End Using
VB   C#

Resultado OCR

Leer región específica

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.