Cómo leer una tabla PDF en C#

Este breve tutorial explica cómo leer la tabla PDF en C#** y leer todo el contenido que contiene. Proporciona una descripción detallada para analizar todas las tablas en un archivo PDF y luego acceder a cada fila y celda individual de una tabla en particular. Para leer la tabla desde PDF, el código C# consta de unas pocas líneas en las que se carga el archivo PDF de origen y luego se analizan todas las tablas para leer el contenido.

Pasos para leer la tabla PDF en C#

  1. Agregue una referencia a Aspose.PDF for .NET para leer los datos de la tabla en el PDF
  2. Cargue el archivo PDF de origen utilizando el objeto de clase Document
  3. Cree una instancia del objeto de clase TableAbsorber y lea todas las tablas de la página PDF deseada
  4. Iterar a través de todas las filas en la tabla PDF de destino
  5. Iterar todas las celdas de cada fila y obtener todos los fragmentos de texto
  6. Mostrar o procesar cada fragmento de texto en una celda

Se sigue un enfoque sistemático en estos pasos para leer la tabla PDF en C#, donde inicialmente se carga el archivo PDF y luego todas las tablas se analizan utilizando el objeto de clase TableAbsorber. Una vez que se visitan todas las tablas en el archivo PDF, puede obtener la referencia a cualquiera de las tablas en la colección analizada. Puede acceder a cualquier tabla, fila, celda y fragmento de texto en un archivo PDF para procesarlo o mostrarlo.

Código para leer la tabla PDF en C#

using System;
using Aspose.Pdf;
using Aspose.Pdf.Text;
namespace ReadPDFTableInCSharp
{
class Program
{
static void Main(string[] args)
{
// Instantiate the license to avoid trial limitations while reading table data from PDF
License asposePdfLicense = new License();
asposePdfLicense.SetLicense("Aspose.pdf.lic");
// Load source PDF document having a table in it
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(@"PdfWithTable.pdf");
// Declare and initialize TableAbsorber class object for reading table from the PDF
Aspose.Pdf.Text.TableAbsorber tableAbsorber = new Aspose.Pdf.Text.TableAbsorber();
// Parse all the tables from the desired page in the PDF
tableAbsorber.Visit(pdfDocument.Pages[1]);
// Get reference to the first table in the parsed collection
AbsorbedTable absorbedTable = tableAbsorber.TableList[0];
// Iterate through all the rows in the PDF table
foreach (AbsorbedRow pdfTableRow in absorbedTable.RowList)
{
// Iterate through all the cells in the pdf table row
foreach (AbsorbedCell pdfTableCell in pdfTableRow.CellList)
{
// Fetch all the text fragments in the cell
TextFragmentCollection textFragmentCollection = pdfTableCell.TextFragments;
// Iterate through all the text fragments
foreach (TextFragment textFragment in textFragmentCollection)
{
// Display the text
Console.WriteLine(textFragment.Text);
}
}
}
System.Console.WriteLine("Done");
}
}
}

En este código de muestra, el uso de C# parse PDF table es posible gracias a la clase TableAbsorber que se usa para leer tablas. Sin embargo, también puede usar otras opciones como TextAbsorber, ParagraphAbsorber, FontAbsorber y TextFragmentAbsorber para acceder a diferentes elementos del documento. Puede iterar a través de toda la colección o acceder a elementos individuales utilizando el índice de matriz.

Hemos aprendido cómo leer una tabla PDF en C# en este tema. Sin embargo, si desea leer los marcadores de PDF, consulte el artículo sobre cómo leer marcadores en PDF usando C#.

 Español