Cách đọc bảng PDF trong C#

Hướng dẫn cách thực hiện ngắn này hướng dẫn cách đọc bảng PDF trong C# và đọc tất cả nội dung bên trong bảng. Nó cung cấp một mô tả chi tiết để phân tích cú pháp tất cả các bảng trong một tệp PDF và sau đó truy cập từng hàng và ô riêng lẻ của một bảng cụ thể. Để đọc bảng từ PDF, mã C# bao gồm một vài dòng theo đó tệp PDF nguồn được tải và sau đó tất cả các bảng được phân tích cú pháp để đọc nội dung.

Các bước để đọc bảng PDF trong C#

  1. Thêm tham chiếu vào Aspose.PDF for .NET để đọc dữ liệu bảng trong PDF
  2. Tải tệp PDF nguồn bằng đối tượng lớp Document
  3. Khởi tạo đối tượng lớp TableAbsorber và đọc tất cả các bảng từ trang PDF mong muốn
  4. Lặp lại tất cả các hàng trong bảng PDF đích
  5. Lặp lại tất cả các ô trong mỗi hàng và tìm nạp tất cả các đoạn văn bản
  6. Hiển thị hoặc xử lý từng đoạn văn bản trong một ô

Một cách tiếp cận có hệ thống được tuân theo trong các bước này để đọc bảng PDF trong C#, trong đó ban đầu tệp PDF được tải và sau đó tất cả các bảng được phân tích cú pháp bằng cách sử dụng đối tượng lớp TableAbsorber. Khi tất cả các bảng được truy cập trong tệp PDF, bạn có thể nhận được tham chiếu đến bất kỳ bảng nào trong bộ sưu tập được phân tích cú pháp. Bạn có thể truy cập bất kỳ bảng, hàng, ô và đoạn văn bản nào trong tệp PDF để xử lý hoặc hiển thị nó.

Mã để đọc bảng PDF trong 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");
}
}
}

Trong mã mẫu này, việc sử dụng C# parse PDF table có thể thực hiện được bằng cách sử dụng lớp TableAbsorber được sử dụng để đọc các bảng. Tuy nhiên, bạn cũng có thể sử dụng các tùy chọn khác như TextAbsorber, ParagraphAbsorber, FontAbsorber và TextFragmentAbsorber để truy cập các thành phần khác nhau của tài liệu. Bạn có thể lặp qua toàn bộ bộ sưu tập hoặc truy cập các phần tử riêng lẻ bằng cách sử dụng chỉ mục mảng.

Chúng ta đã học cách đọc bảng PDF trong C# trong chủ đề này. Tuy nhiên, nếu bạn muốn đọc các dấu trang PDF, hãy tham khảo bài viết trên cách đọc dấu trang trong PDF bằng C#.

 Tiếng Việt