Jak číst tabulku PDF v C#

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#

  1. Chcete-li číst data tabulky v PDF, přidejte odkaz na Aspose.PDF for .NET
  2. Načtěte zdrojový soubor PDF pomocí objektu třídy Document
  3. Vytvořte instanci objektu třídy TableAbsorber a přečtěte si všechny tabulky z požadované stránky PDF
  4. Iterujte všechny řádky v cílové tabulce PDF
  5. Iterujte všechny buňky v každém řádku a načtěte všechny fragmenty textu
  6. 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#.

 Čeština