Този кратък самоучител напътства как да четете таблица 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 таблица е възможно с помощта на класа TableAbsorber, който се използва за четене на таблици. Можете обаче да използвате и други опции като TextAbsorber, ParagraphAbsorber, FontAbsorber и TextFragmentAbsorber за достъп до различни елементи на документа. Можете или да преминете през цялата колекция, или да получите достъп до отделни елементи, като използвате индекса на масива.
В тази тема научихме как да четем PDF таблица на C#. Въпреки това, ако искате да четете PDF отметки, вижте статията на как да четете отметки в PDF с помощта на C#.