Jak czytać tabelę PDF w C#

Ten krótki samouczek pokazuje jak czytać tabelę PDF w C# i czytać całą jej zawartość. Zawiera szczegółowy opis analizowania wszystkich tabel w pliku PDF, a następnie uzyskiwania dostępu do każdego pojedynczego wiersza i komórki określonej tabeli. Aby odczytać tabelę z PDF, kod C# składa się z kilku linii, w których ładowany jest źródłowy plik PDF, a następnie wszystkie tabele są analizowane w celu odczytania zawartości.

Kroki, aby przeczytać tabelę PDF w C#

  1. Dodaj odwołanie do Aspose.PDF for .NET, aby odczytać dane z tabeli w pliku PDF
  2. Załaduj źródłowy plik PDF za pomocą obiektu klasy Document
  3. Utwórz instancję obiektu klasy TableAbsorber i przeczytaj wszystkie tabele z żądanej strony PDF
  4. Iteruj przez wszystkie wiersze w docelowej tabeli PDF
  5. Iteruj wszystkie komórki w każdym wierszu i pobierz wszystkie fragmenty tekstu
  6. Wyświetlaj lub przetwarzaj każdy fragment tekstu w komórce

W tych krokach stosuje się systematyczne podejście do czytania tabeli PDF w języku C#, gdzie początkowo ładowany jest plik PDF, a następnie wszystkie tabele są analizowane przy użyciu obiektu klasy TableAbsorber. Po odwiedzeniu wszystkich tabel w pliku PDF można uzyskać odniesienie do dowolnej tabeli w przeanalizowanej kolekcji. Możesz uzyskać dostęp do dowolnej tabeli, wiersza, komórki i fragmentu tekstu w pliku PDF, aby je przetworzyć lub wyświetlić.

Kod do odczytu tabeli PDF w 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");
}
}
}

W tym przykładowym kodzie użycie C# parse PDF table jest możliwe dzięki klasie TableAbsorber, która jest używana do odczytywania tabel. Możesz jednak również użyć innych opcji, takich jak TextAbsorber, ParagraphAbsorber, FontAbsorber i TextFragmentAbsorber, aby uzyskać dostęp do różnych elementów dokumentu. Możesz przeglądać całą kolekcję lub uzyskiwać dostęp do poszczególnych elementów za pomocą indeksu tablicy.

Nauczyliśmy się czytać tabelę PDF w C# w tym temacie. Jeśli jednak chcesz przeczytać zakładki PDF, zapoznaj się z artykułem na jak czytać zakładki w PDF przy użyciu C#.

 Polski