У цьому короткому посібнику описано, як читати таблицю PDF у C# і читати весь її вміст. Він містить детальний опис аналізу всіх таблиць у файлі PDF і подальшого доступу до кожного окремого рядка та комірки певної таблиці. Щоб читати таблицю з PDF-файлу C#, код складається з кількох рядків, за допомогою яких завантажується вихідний PDF-файл, а потім усі таблиці аналізуються для читання вмісту.
Кроки для читання таблиці PDF у C#
- Додайте посилання на Aspose.PDF for .NET, щоб читати дані таблиці в PDF
- Завантажте вихідний файл PDF за допомогою об’єкта класу Document
- Створіть об’єкт класу TableAbsorber і прочитайте всі таблиці з потрібної сторінки PDF
- Перегляньте всі рядки в цільовій таблиці PDF
- Перебирайте всі клітинки в кожному рядку та вибирайте всі фрагменти тексту
- Відображення або обробка кожного фрагмента тексту в комірці
У цих кроках використовується систематичний підхід до читання таблиці 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#.