Cómo leer PDFs en OCR C#

How to Read PDFs

This article was translated from English: Does it need improvement?
Translated
View the article in English

PDF stands for "Portable Document Format." It is a file format developed by Adobe that preserves the fonts, images, graphics, and layout of any source document, regardless of the application and platform used to create it. PDF files are typically used for sharing and viewing documents in a consistent format, irrespective of the software or hardware used to open them. IronOcr handles various versions of PDF documents with ease.

Quickstart: OCR a PDF File in Seconds

Set up OCR fast with IronOCR by constructing an OcrPdfInput that points to your PDF, then call Read—no complex configuration needed. This single-line example shows how easy it is to extract text from a PDF using IronOCR.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. Copy and run this code snippet.

    using var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrPdfInput("document.pdf", PdfContents.TextAndImages));
  3. Deploy to test on your live environment

    Start using IronOCR in your project today with a free trial
    arrow pointer


Read PDF Example

Begin by instantiating the IronTesseract class to perform OCR. Then, utilize a 'using' statement to create an OcrPdfInput object, passing the PDF file path to it. Finally, perform OCR using the Read method.

: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)
$vbLabelText   $csharpLabel
Read PDF file

In most cases, there's no need to specify the DPI property. However, providing a high DPI number in the construction of OcrPdfInput can enhance reading accuracy.

Read PDF Pages Example

When reading specific pages from a PDF document, the user can specify the page index number for import. To do this, pass the list of page indices to the PageIndices parameter when constructing the OcrPdfInput. Keep in mind that page indices use zero-based numbering.

: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)
$vbLabelText   $csharpLabel

Specify Scan Region

By narrowing down the area to be read, you can significantly enhance the reading efficiency. To achieve this, you can specify the precise region of the imported PDF that needs to be read. In the code example below, I have instructed IronOcr to focus solely on extracting the chapter number and title.

: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
$vbLabelText   $csharpLabel

OCR Result

Read specific region

Preguntas Frecuentes

¿Cómo puedo leer un archivo PDF en C#?

Puedes leer un archivo PDF en C# usando IronOCR. Comienza instanciando la clase IronTesseract, luego usa una declaración 'using' para crear un objeto OcrPdfInput con la ruta del archivo. Finalmente, aplica el método Read para realizar OCR en el documento.

¿Qué pasos son necesarios para realizar OCR en páginas específicas de un PDF?

Para realizar OCR en páginas específicas de un PDF usando IronOCR, pasa una lista de índices de página al parámetro PageIndices al construir el OcrPdfInput. En IronOCR, los índices de página son de base cero, por lo que la primera página se indexa como 0.

¿Cómo puedo mejorar la precisión del OCR en PDFs?

Puedes mejorar la precisión del OCR en PDFs en IronOCR especificando un DPI alto durante la construcción del OcrPdfInput. Aunque generalmente no es necesario, un DPI más alto puede mejorar la precisión de lectura.

¿Es posible seleccionar una región específica de un PDF para el procesamiento OCR?

Sí, con IronOCR, puedes seleccionar una región específica de un PDF para el procesamiento OCR usando el método SelectRegion. Esto te permite centrarte en extraer contenido de un área definida, mejorando la eficiencia.

¿Cuál es la importancia de la numeración de base cero al leer páginas de PDF?

En IronOCR, se utiliza la numeración de base cero para especificar índices de páginas al leer páginas de PDF. Esto significa que la primera página se indexa como 0, lo que ayuda a especificar con precisión qué páginas procesar.

¿Necesito gestionar recursos manualmente al realizar OCR en PDFs?

Al usar IronOCR, se recomienda utilizar una declaración 'using' al trabajar con objetos OcrInput. Esto asegura que los recursos se dispongan adecuadamente después de completar el proceso de OCR.

¿Cómo puedo comenzar a usar IronOCR para la lectura de PDF?

Para comenzar con IronOCR para la lectura de PDF, descarga la biblioteca C# desde NuGet, prepara tu PDF, construye un objeto OcrPdfInput con la ruta del archivo y utiliza el método Read para el procesamiento OCR.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
Revisado por
Jeff Fritz
Jeffrey T. Fritz
Gerente Principal de Programas - Equipo de la Comunidad .NET
Jeff también es Gerente Principal de Programas para los equipos de .NET y Visual Studio. Es el productor ejecutivo de la serie de conferencias virtuales .NET Conf y anfitrión de 'Fritz and Friends', una transmisión en vivo para desarrolladores que se emite dos veces a la semana donde habla sobre tecnología y escribe código junto con la audiencia. Jeff escribe talleres, presentaciones, y planifica contenido para los eventos de desarrolladores más importantes de Microsoft, incluyendo Microsoft Build, Microsoft Ignite, .NET Conf y la Cumbre de Microsoft MVP.
¿Listo para empezar?
Nuget Descargas 5,044,537 | Versión: 2025.11 recién lanzado