Як читати таблицю PDF на C#

У цьому короткому посібнику описано, як читати таблицю PDF у C# і читати весь її вміст. Він містить детальний опис аналізу всіх таблиць у файлі PDF і подальшого доступу до кожного окремого рядка та комірки певної таблиці. Щоб читати таблицю з PDF-файлу C#, код складається з кількох рядків, за допомогою яких завантажується вихідний PDF-файл, а потім усі таблиці аналізуються для читання вмісту.

Кроки для читання таблиці PDF у C#

  1. Додайте посилання на Aspose.PDF for .NET, щоб читати дані таблиці в PDF
  2. Завантажте вихідний файл PDF за допомогою об’єкта класу Document
  3. Створіть об’єкт класу TableAbsorber і прочитайте всі таблиці з потрібної сторінки PDF
  4. Перегляньте всі рядки в цільовій таблиці PDF
  5. Перебирайте всі клітинки в кожному рядку та вибирайте всі фрагменти тексту
  6. Відображення або обробка кожного фрагмента тексту в комірці

У цих кроках використовується систематичний підхід до читання таблиці PDF у C#, де спочатку завантажується файл PDF, а потім усі таблиці аналізуються за допомогою об’єкта класу TableAbsorber. Після перегляду всіх таблиць у файлі PDF ви можете отримати посилання на будь-яку таблицю в проаналізованій колекції. Ви можете отримати доступ до будь-якої таблиці, рядка, комірки та текстового фрагмента у файлі PDF, щоб обробити або відобразити його.

Код для читання таблиці PDF у 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");
}
}
}

У цьому прикладі коду використання C# parse PDF table стало можливим за допомогою класу TableAbsorber, який використовується для читання таблиць. Однак ви також можете використовувати інші параметри, такі як TextAbsorber, ParagraphAbsorber, FontAbsorber і TextFragmentAbsorber для доступу до різних елементів документа. Ви можете пройти через всю колекцію або отримати доступ до окремих елементів за допомогою індексу масиву.

У цій темі ми навчилися читати таблицю PDF на C#. Однак, якщо ви хочете читати закладки PDF, зверніться до статті як читати закладки в PDF за допомогою C#.

 Українська