Cómo leer un archivo PDF en C#

La lectura de diferentes tipos de documentos mediante programación es una práctica común en estos días. En esta guía práctica, aprenderá a leer el archivo PDF en C# siguiendo los sencillos pasos que se indican a continuación.

Pasos para leer un archivo PDF en C#

  1. Cree una aplicación de consola C# vacía en Visual Studio
  2. Agregue una referencia a Aspose.PDF for .NET instalándolo desde NuGet.org
  3. Cargue un archivo PDF existente en el objeto Documento
  4. Inicialice la clase TextAbsorber para leer el archivo PDF
  5. Extraiga el texto del PDF y escríbalo en la salida de la Consola
  6. Iterar a través de la página PDF Resources para encontrar imágenes
  7. Crear objeto FileStream con imagen encontrada
  8. Guardar la imagen en el disco local

A continuación, el fragmento de código explica cómo abrir y leer un archivo PDF en C#. Podrá leer texto y extraer imágenes de un archivo PDF usándolo. La API ofrece la clase TextAbsorber que se usa para leer texto de un archivo PDF y puede lograr los resultados extraídos a través del objeto Text. También es posible encontrar imágenes y guardarlas en el disco local recorriendo los recursos de la página PDF como se muestra a continuación.

Código para leer archivo PDF en C#

using System;
using System.IO;
// Add reference to Aspose.PDF for .NET API
// Use following namespace to read PDF file
using Aspose.Pdf;
namespace ReadPDFFiles
{
class Program
{
static void Main(string[] args)
{
// Set license before reading PDF file
Aspose.Pdf.License AsposePDFLicense = new Aspose.Pdf.License();
AsposePDFLicense.SetLicense(@"c:\asposelicense\license.lic");
string inFile = @"c:\ReadPDFFileInCSharp.pdf";
// Load an existing PDF file in Document object to read
Document pdf = new Document(inFile);
// 1. Read text from PDF file
// Initialize TextAbsorber Class to read Text from PDF file
Aspose.Pdf.Text.TextAbsorber textAbsorber = new Aspose.Pdf.Text.TextAbsorber();
// Call Page.Accept() method to let TextAbsorber find text in PDF Pages
pdf.Pages.Accept(textAbsorber);
// Write the extracted text to Console output
Console.WriteLine(textAbsorber.Text);
// 2. Extract images from PDF file
int imageIndex = 1;
// Iterate through PDF pages
foreach (var pdfPage in pdf.Pages)
{
// Check available images while reading the PDF
foreach (XImage image in pdfPage.Resources.Images)
{
// Create file stream for found image
FileStream extractedImage = new FileStream(String.Format("Page{0}_Image{1}.jpg", pdfPage.Number, imageIndex), FileMode.Create);
// Save output image to the disk
image.Save(extractedImage, System.Drawing.Imaging.ImageFormat.Jpeg);
// Close stream
extractedImage.Close();
imageIndex++;
}
// Reset image index
imageIndex = 1;
}
}
}
}

En el tema anterior, aprendiste cómo procesar archivos PDF grandes en C#. La información anterior y el ejemplo de código le permitirán abrir y leer archivos PDF en C# para extraer texto e imágenes.

 Español