Tento krátký návod vás provede jak číst tabulku PDF v C# a přečíst si veškerý obsah v ní. Poskytuje podrobný popis analýzy všech tabulek v souboru PDF a následného přístupu ke každému jednotlivému řádku a buňce konkrétní tabulky. Aby bylo možné číst tabulku z PDF, C# kód se skládá z několika řádků, přičemž se načte zdrojový soubor PDF a poté se všechny tabulky analyzují pro čtení obsahu.
Kroky ke čtení tabulky PDF v C#
- Chcete-li číst data tabulky v PDF, přidejte odkaz na Aspose.PDF for .NET
- Načtěte zdrojový soubor PDF pomocí objektu třídy Document
- Vytvořte instanci objektu třídy TableAbsorber a přečtěte si všechny tabulky z požadované stránky PDF
- Iterujte všechny řádky v cílové tabulce PDF
- Iterujte všechny buňky v každém řádku a načtěte všechny fragmenty textu
- Zobrazte nebo zpracujte každý textový fragment v buňce
V těchto krocích se používá systematický přístup k čtení tabulky PDF v C#, kde se nejprve načte soubor PDF a poté se všechny tabulky analyzují pomocí objektu třídy TableAbsorber. Jakmile navštívíte všechny tabulky v souboru PDF, můžete získat odkaz na kteroukoli z tabulek v analyzované kolekci. Můžete přistupovat k jakékoli tabulce, řádku, buňce a fragmentu textu v souboru PDF, abyste je mohli zpracovat nebo zobrazit.
Kód pro čtení tabulky PDF v 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"); | |
} | |
} | |
} |
V tomto ukázkovém kódu je použití C# parse PDF table umožněno pomocí třídy TableAbsorber, která se používá pro čtení tabulek. Pro přístup k různým prvkům dokumentu však můžete použít i další možnosti, jako je TextAbsorber, SectionAbsorber, FontAbsorber a TextFragmentAbsorber. Můžete buď iterovat celou kolekci, nebo přistupovat k jednotlivým prvkům pomocí indexu pole.
V tomto tématu jsme se naučili, jak číst tabulku PDF v C#. Pokud si však chcete přečíst záložky PDF, přečtěte si článek na jak číst záložky v PDF pomocí C#.