В этом кратком руководстве рассказывается о том, как читать PDF таблицу в C# и читать все ее содержимое. Он предоставляет подробное описание анализа всех таблиц в файле PDF и последующего доступа к каждой отдельной строке и ячейке конкретной таблицы. Чтобы * прочитать таблицу из PDF, код C#* состоит из нескольких строк, при этом загружается исходный файл PDF, а затем все таблицы анализируются для чтения содержимого.
Шаги для чтения таблицы PDF в С#
- Добавьте ссылку на Aspose.PDF for .NET, чтобы прочитать табличные данные в PDF.
- Загрузите исходный файл PDF с помощью объекта класса Document.
- Создайте экземпляр объекта класса TableAbsorber и прочитайте все таблицы с нужной страницы PDF.
- Перебрать все строки в целевой таблице PDF
- Перебрать все ячейки в каждой строке и получить все текстовые фрагменты.
- Отображение или обработка каждого текстового фрагмента в ячейке
В этих шагах используется систематический подход к чтению таблицы PDF в C#, где сначала загружается файл PDF, а затем все таблицы анализируются с использованием объекта класса TableAbsorber. После посещения всех таблиц в файле PDF вы можете получить ссылку на любую из таблиц в проанализированной коллекции. Вы можете получить доступ к любой таблице, строке, ячейке и текстовому фрагменту в файле PDF для их обработки или отображения.
Код для чтения таблицы PDF в С#
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"); | |
} | |
} | |
} |
В этом примере кода использование Синтаксического анализа таблицы PDF C# стало возможным благодаря классу TableAbsorber, который используется для чтения таблиц. Однако вы также можете использовать другие параметры, такие как TextAbsorber, ParagraphAbsorber, FontAbsorber и TextFragmentAbsorber, для доступа к различным элементам документа. Вы можете перебрать всю коллекцию или получить доступ к отдельным элементам, используя индекс массива.
В этом разделе мы узнали, как читать PDF-таблицу на C#. Однако, если вы хотите прочитать закладки PDF, обратитесь к статье как читать закладки в PDF с помощью С#.