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#
- Dodaj odwołanie do Aspose.PDF for .NET, aby odczytać dane z tabeli w pliku PDF
- Załaduj źródłowy plik PDF za pomocą obiektu klasy Document
- Utwórz instancję obiektu klasy TableAbsorber i przeczytaj wszystkie tabele z żądanej strony PDF
- Iteruj przez wszystkie wiersze w docelowej tabeli PDF
- Iteruj wszystkie komórki w każdym wierszu i pobierz wszystkie fragmenty tekstu
- 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#.