Cómo leer PDF
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.
Cómo leer PDF
- Descargar una biblioteca de C# para leer PDF
- Preparar el documento PDF para su lectura
- Construir el OcrPdfInput objeto con la ruta del archivo PDF
- Emplear el
Leer
para realizar el OCR en el PDF importado - Leer specific pages by providing the page indices list
Instalar con NuGet
Install-Package IronOcr
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;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add PDF
using var pdfInput = new OcrPdfInput("Potter.pdf");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(pdfInput);
Imports IronOcr
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add PDF
Private pdfInput = New OcrPdfInput("Potter.pdf")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(pdfInput)
![Leer archivo PDF](/static-assets/ocr/how-to/input-pdfs/read-pdf.webp)
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;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Create page indices list
List<int> pageIndices = new List<int>() { 0, 2 };
// Add PDF
using var pdfInput = new OcrPdfInput("Potter.pdf", PageIndices: pageIndices);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(pdfInput);
Imports IronOcr
Imports System.Collections.Generic
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Create page indices list
Private pageIndices As New List(Of Integer)() From {0, 2}
' Add PDF
Private pdfInput = New OcrPdfInput("Potter.pdf", PageIndices:= pageIndices)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(pdfInput)
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;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Specify crop regions
Rectangle[] scanRegions = { new Rectangle(550, 100, 600, 300) };
// Add PDF
using (var pdfInput = new OcrPdfInput("Potter.pdf", ContentAreas: scanRegions))
{
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(pdfInput);
// Output the result to console
Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Specify crop regions
Private scanRegions() As Rectangle = { New Rectangle(550, 100, 600, 300) }
' Add PDF
Using pdfInput = New OcrPdfInput("Potter.pdf", ContentAreas:= scanRegions)
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(pdfInput)
' Output the result to console
Console.WriteLine(ocrResult.Text)
End Using
Resultado OCR
![Leer región específica](/static-assets/ocr/how-to/input-pdfs/read-specific-region.webp)