Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
En la era digital actual,Formato de documento portátil (PDF) se han convertido en un estándar para el intercambio de documentos debido a su naturaleza independiente de la plataforma y a su formato coherente. La biblioteca iTextSharp surge como una potente biblioteca para interactuar sin problemas con PDF para desarrolladores que trabajan con C#. En este artículo, vamos a aprender el proceso de lectura de archivos PDF utilizandoiTextSharp en C#, explorando los pasos esenciales y proporcionando una guía completa para ayudarle a liberar el potencial de esta versátil biblioteca.
Abrir o crear unVisual Studio Proyecto.
Instale la biblioteca iTextSharp.
Añada el espacio de nombres necesario.
Seleccione el archivo PDF que desea leer.
Crear una instancia de un lector de PDF.
Crear una instancia de un documento PDF.
Recorrer cada página del documento para extraer texto.
iText 7, antes conocida como iTextSharp, es una potente y versátil biblioteca Java y .NET para crear, manipular y extraer contenido de documentos PDF. Ofrece un amplio conjunto de funciones, como manejo de texto e imágenes, cumplimentación de formularios, firmas digitales y marcas de agua. Ya se trate de generar facturas, informes o formularios interactivos, iText 7 permite a los desarrolladores trabajar con PDF de forma eficaz.
Veamos algunos ejemplos de Lectura de Archivos PDF en C#. Para empezar, tendrás que añadir la biblioteca iTextSharp a tu proyecto.
Abra su proyecto C# con Visual Studio. En el menú superior, ve a "Ver" y luego selecciona "Consola del Gestor de Paquetes". Esto abrirá la Consola del Gestor de Paquetes en la parte inferior de la ventana de Visual Studio.
En la consola del gestor de paquetes, asegúrese de que el menú desplegable "Proyecto predeterminado" está configurado en el proyecto en el que desea instalar el paquete iTextSharp.
Ejecute el siguiente comando para instalar la biblioteca iTextSharp:
Install-Package itext7
Este comando obtiene la última versión de iTextSharp del repositorio de paquetes NuGet y la instala en su proyecto. Espere a que finalice el proceso de instalación. La consola del gestor de paquetes mostrará información sobre el progreso de la instalación.
Utilizaré el siguiente documento PDF como entrada para este ejemplo.
Antes de empezar, añada el siguiente espacio de nombres:
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using System.Text;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using System.Text;
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports System.Text
El siguiente código leerá el archivo PDF anterior, extraerá el contenido e imprimirá el contenido extraído en la consola.
public static void Main(string [] args)
{
StringBuilder text = new StringBuilder();
string fileName = @"D:/What_is_pdf.pdf";
if (File.Exists(fileName))
{
using (PdfReader pdfReader = new PdfReader(fileName))
{
using (PdfDocument pdfDocument = new PdfDocument(pdfReader))
{
for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
{
string currentText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page));
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
}
}
}
Console.WriteLine(text.ToString());
}
public static void Main(string [] args)
{
StringBuilder text = new StringBuilder();
string fileName = @"D:/What_is_pdf.pdf";
if (File.Exists(fileName))
{
using (PdfReader pdfReader = new PdfReader(fileName))
{
using (PdfDocument pdfDocument = new PdfDocument(pdfReader))
{
for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
{
string currentText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page));
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
}
}
}
Console.WriteLine(text.ToString());
}
Public Shared Sub Main(ByVal args() As String)
Dim text As New StringBuilder()
Dim fileName As String = "D:/What_is_pdf.pdf"
If File.Exists(fileName) Then
Using pdfReader As New PdfReader(fileName)
Using pdfDocument As New PdfDocument(pdfReader)
Dim page As Integer = 1
Do While page <= pdfDocument.GetNumberOfPages()
Dim currentText As String = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page))
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)))
text.Append(currentText)
page += 1
Loop
End Using
End Using
End If
Console.WriteLine(text.ToString())
End Sub
El código fuente anterior lee un archivo PDF, extrae el texto de cada página, lo convierte a UTF-8 y, a continuación, imprime todo el contenido del texto en la consola. Es un ejemplo básico de cómo extraer texto de un archivo PDF utilizando la biblioteca iTextSharp en C#.
El código comienza declarando un StringBuilder llamado text para acumular el texto extraído del PDF. También define una variable de cadena fileName con la ruta de la ubicación del documento. En este caso, el archivo PDF se encuentra en "D:/Que_es_pdf.pdf".
El si(File.Exists(fileName))La condición comprueba si el archivo especificado existe. Si el fichero existe, se ejecuta el bloque de código siguiente.
Dentro del bloque if, abre el archivo PDF utilizando un objeto PdfReader. A continuación, crea una instancia de archivo PdfDocument utilizando el PdfReader. El bucle for recorre cada página del documento PDF.
Para cada página PDF, extrae el contenido del texto utilizando la clase PdfTextExtractor's GetTextFromPage(pdfDocument.GetPage(página)) método. El texto extraído se codifica inicialmente en la codificación por defecto.
A continuación, convierte el texto de la codificación por defecto a UTF-8 utilizando Encoding.UTF8.GetString.(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText))). El texto convertido se añade a la cadena de texto.
Finalmente, imprime el texto acumulado utilizando el comando Console.WriteLine() método.
El texto extraído del PDF es el siguiente:
De este modo, podemos leer el contenido del archivo PDF. Este enfoque es complejo y menos eficiente, ya que se crean múltiples instancias. Exploremos un método alternativo más fácil de usar y muy eficaz.
Características y ventajas de IronPDF es una biblioteca de C# versátil y eficaz diseñada para simplificar y mejorar el uso decreación de PDF mediante programación, edición de PDFyrepresentación de documentos PDF dentro de las aplicaciones .NET. IronPDF permite a los desarrolladores integrar a la perfección funcionalidades relacionadas con PDF en sus proyectos, centrándose en la facilidad de uso y la riqueza de funciones. La biblioteca admite una amplia gama de operaciones con PDF, incluida la creación de documentos PDF desde cero, la conversión deContenido HTML a PDFy elextracción de texto e imágenes de PDF de archivos PDF existentes. La intuitiva API de IronPDF proporciona a los desarrolladores una experiencia fácil de usar, permitiéndoles generar PDF dinámicos e interactivos sin esfuerzo. Ya se trate de añadir marcas de agua, anotaciones o cifrar documentos, IronPDF permite a los desarrolladores adaptar los PDF a sus requisitos específicos. Como solución fiable, IronPDF resulta fundamental en aplicaciones que van desde la generación de informes y la gestión de documentos hasta el desarrollo web, ya que ofrece un completo conjunto de herramientas para agilizar las tareas relacionadas con PDF en el entorno .NET.
Descargue IronPDF en su proyecto utilizando la consola del gestor de paquetes NuGet con el siguiente comando.
Install-Package IronPdf
Este comando descargará e instalará elPaquete NuGet IronPDFjunto con sus dependencias, en su proyecto.
En la pestaña Examinar de NuGet, busque la biblioteca "IronPDF" y haga clic en Instalar.
Ahora, vamos a leer el mismo archivo PDF utilizandoGuía completa de IronPDF. El siguiente código extraerá texto del documento PDF de entrada.
using IronPdf;
public static void Main(string [] args)
{
var pdfDocument = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
string text = pdfDocument.ExtractAllText();
Console.WriteLine(text);
}
using IronPdf;
public static void Main(string [] args)
{
var pdfDocument = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
string text = pdfDocument.ExtractAllText();
Console.WriteLine(text);
}
Imports IronPdf
Public Shared Sub Main(ByVal args() As String)
Dim pdfDocument = PdfDocument.FromFile("D:/What_is_pdf.pdf")
Dim text As String = pdfDocument.ExtractAllText()
Console.WriteLine(text)
End Sub
El código anterior lee un archivo PDF llamado "What_is_pdf.pdf", extrae todo el contenido del texto y muestra el texto extraído en la consola.
El código comienza cargando un documento PDF desde un archivo llamado "What_\is_pdf.pdf". Utiliza el método PdfDocument.FromFile() para crear un objeto PdfDocument a partir del archivo especificado.
A continuación, extrae todo el contenido de texto del documento PDF cargado. El pdfDocument.ExtractAllText() Este método devuelve el texto completo del PDF como una única cadena.
Por último, el texto extraído se almacena en la variable texto. El código imprime el texto extraído en la consola utilizando Console.WriteLine(texto) método.
IronPDF también permite extraer texto de un archivo PDF, página por página.
El siguiente código leerá un documento PDF, página por página utilizando IronPDF.
using IronPdf;
public static void Main(string [] args)
{
StringBuilder sb = new StringBuilder();
using PdfDocument pdf = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
for (int index = 0; index < pdf.PageCount; index++)
{
sb.Append (pdf.ExtractTextFromPage(index));
}
Console.WriteLine(sb.ToString());
}
using IronPdf;
public static void Main(string [] args)
{
StringBuilder sb = new StringBuilder();
using PdfDocument pdf = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
for (int index = 0; index < pdf.PageCount; index++)
{
sb.Append (pdf.ExtractTextFromPage(index));
}
Console.WriteLine(sb.ToString());
}
Imports IronPdf
Public Shared Sub Main(ByVal args() As String)
Dim sb As New StringBuilder()
Using pdf As PdfDocument = PdfDocument.FromFile("D:/What_is_pdf.pdf")
For index As Integer = 0 To pdf.PageCount - 1
sb.Append(pdf.ExtractTextFromPage(index))
Next index
Console.WriteLine(sb.ToString())
End Using
End Sub
El código anterior lee un archivo PDF llamado "What_is_pdf.pdf", extrae el contenido de texto de cada página e imprime el texto combinado en la consola.
Se crea un StringBuilder llamado sb para acumular el texto extraído del PDF. La declaración de uso garantiza la correcta eliminación de los recursos. Un objeto PdfDocument llamado PDF se crea cargando un archivo PDF desde la ruta "D:/Que_es_pdf.pdf" utilizando el método PdfDocument.FromFile.
El bucle for recorre cada página del documento PDF cargado. Para cada página(indexado por índice)extrae el contenido del texto utilizando pdf.ExtractTextFromPage(índice). El texto extraído se añade al StringBuilder utilizando sb.Append().
Por último, el texto acumulado se convierte en una sola cadena mediante sb.ToString(). Todo el texto extraído se imprime en la consola utilizando Console.WriteLine() método.
En conclusión, trabajar con archivos PDF en C# implica comprender elementos esenciales como una matriz de bytes, un diccionario de información del documento, una tabla de referencias cruzadas, una nueva instancia de archivo y un byte estático. El primer código con iTextSharp muestra un enfoque funcional, mientras que el segundo con IronPDF ofrece un método más sencillo y eficiente. IronPDF la API fácil de usar simplifica las tareas relacionadas con tablas de referencias cruzadas, diccionario de páginas y referencias indirectas. Tanto si se trata sólo del xref en la información del documento como de aspectos de clave privada para PDF seguros, IronPDF es una solución versátil.
Los desarrolladores que deseen explorarInformación sobre licencias de IronPDF. La satisfacción del cliente está en la vanguardia de las ofertas de IronPDF, garantizando que los desarrolladores encuentren valor y eficacia en sus tareas relacionadas con PDF, lo que la convierte en una opción convincente para quienes buscan una biblioteca PDF fiable y repleta de funciones.
Para obtener más información sobre cómo utilizar IronPDF, consulte este enlaceDocumentación de IronPDF enlace.
9 productos API .NET para sus documentos de oficina