1. Productos
  2.   PDF
  3.   .NET
  4.   PdfPig
 
  

API gratuita de C# .NET para extracción y análisis de texto PDF

Una biblioteca .NET de código abierto líder para extraer texto, imágenes, metadatos e información de la estructura PDF de archivos PDF con facilidad. Añade nuevas páginas, tablas, texto y formas a los PDFs.

¿Qué es la biblioteca PdfPig?

PdfPig es una biblioteca .NET de código abierto diseñada para leer, analizar y extraer contenido de archivos PDF en C#. Se desarrolló como una adaptación de Apache PDFBox para el ecosistema .NET y se utiliza ampliamente para la extracción de texto de PDF, el análisis de documentos y el procesamiento de PDF a bajo nivel. Es compatible con .NET Standard y múltiples versiones de .NET, lo que la hace muy flexible para entornos de desarrollo modernos. La biblioteca es muy útil para la indexación de documentos, motores de búsqueda, preprocesamiento de documentos IA/ML, post-procesamiento OCR, automatización de facturas, herramientas de accesibilidad PDF y sistemas de extracción de datos.

Los archivos PDF están en todas partes—contratos, informes, facturas, libros electrónicos, extractos bancarios, artículos de investigación y formularios. Extraer información estructurada de los PDF suele ser difícil porque PDF es principalmente un formato de presentación, no un formato de documento semántico. PdfPig simplifica este problema al proporcionar a los desarrolladores acceso al texto sin formato y palabras, posiciones de caracteres y cajas delimitadoras, fuentes e información de estilo, imágenes y metadatos y detalles del diseño del documento. A diferencia de muchas bibliotecas PDF que se centran principalmente en generar PDFs, PdfPig está especializado en leer documentos PDF existentes. Esto lo convierte en una excelente opción para desarrolladores que construyen motores de búsqueda, pipelines de OCR, analizadores de facturas, analizadores de documentos, herramientas de cumplimiento o sistemas de extracción de contenido.

Previous Next

Comenzando con PdfPig

La biblioteca PdfPig está disponible como un paquete NuGet. Por lo tanto, se recomienda encarecidamente usar NuGet para instalar PdfPig en su proyecto. Por favor, use el siguiente comando para una instalación exitosa.

Instalar PdfPig mediante el Administrador de paquetes NuGet

// Package Manager
Install-Package PdfPig

// .NET CLI

dotnet add package PdfPig

También puedes instalarlo manualmente; descarga los archivos de la última versión directamente del repositorio GitHub.

Extraer texto de documentos PDF mediante .NET

Uno de los casos de uso más comunes de PdfPig es extraer texto plano de documentos PDF. Los desarrolladores de software pueden abrir un PDF y leer el texto página por página o extraer todo el contenido. Esto es especialmente útil para la indexación de búsqueda, el escaneo de palabras clave y el análisis de contenido. Aquí hay un ejemplo sencillo que muestra cómo los desarrolladores pueden extraer texto de documentos PDF dentro de aplicaciones C# .NET. Primero abre el archivo PDF y recorre todas las páginas; después lee el contenido de texto extraído.

¿Cómo extraer texto de documentos PDF mediante la API de C#?

using UglyToad.PdfPig;

using (var document = PdfDocument.Open("sample.pdf"))
{
    foreach (var page in document.GetPages())
    {
        string text = page.Text;
        Console.WriteLine(text);
    }
}

Formularios interactivos y extracción de archivos incrustados

La biblioteca de código abierto PdfPig admite de forma nativa la extracción de formularios interactivos de Acrobat (AcroForms) y la lectura de archivos ocultos dentro de los adjuntos PDF. Permite a los desarrolladores verificar las definiciones de formularios a nivel global, iterar a través de los elementos de formulario interactivo tipados (como casillas de verificación, campos de texto o botones), y acceder a los datos de bytes sin procesar subyacentes de los archivos incrustados dentro de las anotaciones del documento para una interoperabilidad del sistema sin problemas.

¿Cómo extraer datos de formularios interactivos mediante la biblioteca C# .NET?

using System;
using System.Collections.Generic;
using UglyToad.PdfPig;
using UglyToad.PdfPig.AcroForms;

class Program
{
    static void ExtractInteractiveContent(string pdfPath)
    {
        using (PdfDocument document = PdfDocument.Open(pdfPath))
        {
            // Extracting Interactive Form Data
            if (document.TryGetForm(out AcroForm form))
            {
                foreach (var field in form.Fields)
                {
                    Console.WriteLine($"Form Field Name: {field.Information.Name} | Type: {field.Type}");
                }
            }

            // Extracting Embedded Documents/Attachments
            if (document.Advanced.TryGetEmbeddedFiles(out IReadOnlyList embeddedFiles))
            {
                foreach (var file in embeddedFiles)
                {
                    Console.WriteLine($"Found Attachment: {file.Name} ({file.Bytes.Count} bytes)");
                    // File.WriteAllBytes(file.Name, file.Bytes.ToArray()); // Save attachment locally
                }
            }
        }
    }
}

Fusión sin problemas de varios archivos PDF mediante C#

Más allá de la extracción de contenido, PdfPig ofrece utilidades de gestión de documentos sencillas. Al utilizar la clase PdfMerger, los desarrolladores pueden consolidar estructuras PDF independientes en una única matriz de bytes de salida unificada. Esto brinda una forma eficaz de concatenar informes programáticos, facturas o documentos de estados de cuenta de clientes sin añadir dependencias externas y voluminosas a su canal .NET. El siguiente ejemplo muestra cómo los usuarios pueden combinar varios documentos PDF dentro de aplicaciones .NET.

¿Cómo combinar varios archivos PDF dentro de aplicaciones C# .NET?

using System.IO;
using UglyToad.PdfPig.Writer;

class Program
{
    static void MergeDocuments(string firstPdf, string secondPdf, string outputPdf)
    {
        // Consolidate files into a single continuous byte sequence
        byte[] mergedFileBytes = PdfMerger.Merge(firstPdf, secondPdf);
        
        // Output the combined file stream directly to disk
        File.WriteAllBytes(outputPdf, mergedFileBytes);
    }
}

Leer metadatos, formularios y anotaciones de PDF

Más allá de la extracción de texto, la biblioteca de código abierto PdfPig incluye funciones que exponen los metadatos del documento (título, autor, productor), campos de formulario interactivos, hipervínculos y marcadores. Esto es invaluable para sistemas de clasificación de documentos, procesamiento automatizado de formularios y indexación de contenido donde se necesita tanto el contenido como el contexto.

 Español