Bảng trong OneNote giúp giữ cho thông tin được tổ chức, từ ghi chú cuộc họp và nhật ký dữ liệu đến các bảng so sánh nhanh. Có những trường hợp nhất định khi bạn cần trích xuất văn bản từ một bảng trong OneNote theo cách lập trình. Có thể bạn muốn phân tích nội dung bảng, di chuyển chúng vào cơ sở dữ liệu, hoặc chuyển đổi chúng thành định dạng khác.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách trích xuất văn bản từ các bảng trong OneNote bằng cách sử dụng C#. Bạn sẽ học cách lấy văn bản từ toàn bộ bảng, một hàng đơn lẻ, hoặc thậm chí một ô riêng lẻ bằng các ví dụ đơn giản, dễ theo dõi.

Hãy bắt đầu nào.

Tại sao lại trích xuất văn bản từ các bảng trong OneNote?

Các nhà phát triển thường cần trích xuất dữ liệu từ bảng OneNote cho việc tự động hóa, báo cáo hoặc tích hợp với các hệ thống khác. Dưới đây là một vài ví dụ thực tế:

  • Xuất tóm tắt cuộc họp thành các báo cáo có cấu trúc.
  • Đọc dữ liệu bảng từ ghi chú chung để phân tích.
  • Đồng bộ hóa bảng OneNote với các hệ thống hoặc bảng điều khiển bên ngoài.

Thay vì sao chép dữ liệu một cách thủ công, Aspose.Note for .NET cho phép bạn xử lý tất cả điều này thông qua mã một cách nhanh chóng, nhất quán và hoàn toàn tự động.

Thư viện C# để trích xuất văn bản từ bảng trong OneNote

Aspose.Note for .NET là một API mạnh mẽ cho phép các nhà phát triển tạo, đọc, chỉnh sửa và chuyển đổi các tệp OneNote trong các ứng dụng .NET. Nó hỗ trợ các mô hình đối tượng phong phú để truy cập các phần tử như trang, văn bản, hình ảnh, phác thảo và bảng. Để trích xuất văn bản từ bảng, nó cung cấp lớp Document, đại diện cho một tệp OneNote, và các phương thức như GetChildNodes(), cho phép các nhà phát triển dễ dàng định vị và trích xuất các phần tử của bảng.

Bạn có thể tải xuống từ trang Aspose.Note for .NET releases page hoặc cài đặt nó bằng cách sử dụng NuGet:

PM> Install-Package Aspose.Note

Cách trích xuất văn bản từ bảng trong OneNote

Aspose.Note cho phép trích xuất văn bản từ các tài liệu OneNote ở các cấp độ khác nhau:

  • Toàn bộ bảng
  • Một hàng cụ thể
  • Một tế bào đơn lẻ

Hãy cùng đi qua từng bước từng bước một.

Cách trích xuất văn bản từ bảng trong OneNote: Bảng mẫu

Bảng mẫu

Để tìm hiểu thêm về việc trích xuất văn bản và hình ảnh từ tài liệu OneNote bằng C#, hãy xem hướng dẫn chi tiết về việc trích xuất nội dung từ các tệp OneNote.

1. Trích xuất văn bản từ bảng trong OneNote bằng C#

Chúng ta có thể dễ dàng trích xuất văn bản từ tất cả các bảng có sẵn trong tài liệu OneNote bằng cách sử dụng Aspose.Note for .NET. Chúng ta sẽ đi qua quy trình truy cập các nút bảng, đọc nội dung của chúng và hiển thị văn bản đã trích xuất theo định dạng dễ đọc.

Theo dõi các bước dưới đây để trích xuất văn bản từ bảng trong tài liệu OneNote:

  1. Tải tệp .one bằng cách sử dụng lớp Document.
  2. Sử dụng phương thức GetChildNodes<Table>() để lấy tất cả các nút bảng.
  3. Lặp qua từng bảng và trích xuất nội dung văn bản của nó.
  4. In English, the provided content does not require translation. Here is the output:

Print the results on the console.

Ví dụ mã sau đây cho thấy cách trích xuất văn bản từ tất cả các bảng trong tài liệu OneNote.

using Aspose.Note;

// Tải tài liệu vào Aspose.Note.
Document document = new Document("SampleTable.one");

// Lấy danh sách các nút bảng
IList<Table> nodes = document.GetChildNodes<Table>();

// Set table count
int tblCount = 0;

foreach (Table table in nodes)
{
    tblCount++;
    Console.WriteLine("Table # " + tblCount);

    // Retrieve text
    string text = string.Join(Environment.NewLine,
        table.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;

    Console.WriteLine(text);
}

Output

Table # 1
cell_1.1
cell_1.2
cell_1.3
cell_2.1
cell_2.2
cell_2.3

2. Trích xuất văn bản từ một hàng cụ thể trong bảng OneNote

Đôi khi, bạn chỉ cần trích xuất văn bản từ một hàng cụ thể thay vì toàn bộ bảng. Chúng tôi sẽ lặp qua tất cả các bảng, sau đó là từng hàng, trích xuất văn bản một cách độc lập. Điều này hữu ích khi bạn cần phân tích hoặc xử lý dữ liệu bảng theo hàng.

Bạn có thể trích xuất văn bản theo hàng bằng cách làm theo các bước dưới đây:

  1. Tải tệp OneNote bằng cách sử dụng lớp Document.
  2. Lấy danh sách các nút bảng.
  3. Lặp qua từng bảng, sau đó qua từng hàng.
  4. Trích xuất và hiển thị văn bản từ mỗi hàng.

Ví dụ mã sau đây cho thấy cách trích xuất một hàng văn bản từ một bảng sử dụng C#:

using Aspose.Note;

// Tải tài liệu vào Aspose.Note.
Document document = new Document("SampleTable.one");

// Lấy danh sách các nút bảng
IList<Table> nodes = document.GetChildNodes<Table>();

// Đặt số hàng
int rowCount = 0;

foreach (Table table in nodes)
{
    // Lặp qua các hàng của bảng
    foreach (TableRow row in table)
    {
        rowCount++;
        // Retrieve text
        string text = string.Join(Environment.NewLine,
            row.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;

        // In nội dung xuất ra trên màn hình
        Console.WriteLine($"Row #{rowCount}:");
        Console.WriteLine(text);
    }
}

Output

Row #1:
cell_1.1
cell_1.2
cell_1.3

Row #2:
cell_2.1
cell_2.2
cell_2.3

3. Trích xuất văn bản từ một ô cụ thể trong bảng

Nếu bạn muốn đi sâu hơn và trích xuất văn bản từ một ô cụ thể, bạn cũng có thể làm điều đó. Với mục đích này, chúng ta sẽ lấy đơn vị văn bản nhỏ nhất, tức là nội dung của mỗi ô. Điều này thật hoàn hảo khi bạn cần kiểm soát chi tiết việc trích xuất dữ liệu để xử lý thêm hoặc lập bản đồ dữ liệu.

Theo dõi các bước dưới đây để trích xuất văn bản từ một ô cụ thể trong bảng trong OneNote:

  1. Tải tài liệu OneNote bằng cách sử dụng lớp Document.
  2. Lấy các nút bảng bằng cách sử dụng GetChildNodes<Table>().
  3. Lặp qua từng bảng và các hàng của nó.
  4. Trích xuất các nút ô bằng cách sử dụng GetChildNodes<TableCell>().
  5. Extract text from each cell and display it.

Ví dụ mã sau đây cho thấy cách lấy văn bản ô từ một hàng trong bảng sử dụng C#:

using Aspose.Note;

// Tải tài liệu vào Aspose.Note.
Document document = new Document("SampleTable.one");

// Lấy danh sách các nút bảng.
IList<Table> nodes = document.GetChildNodes<Table>();

foreach (Table table in nodes)
{
    // Lặp qua các hàng của bảng
    foreach (TableRow row in table)
    {
        // Lấy danh sách các nút TableCell
        IList<TableCell> cellNodes = row.GetChildNodes<TableCell>();
        // Lặp qua các ô bảng
        foreach (TableCell cell in cellNodes)
        {
            // Retrieve text
            string text = string.Join(Environment.NewLine,
                cell.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;
            // In ấn văn bản trên màn hình đầu ra
            Console.WriteLine(text);
        }
    }
}

Output

cell_1.1

cell_1.2

cell_1.3

cell_2.1

cell_2.2

cell_2.3

Tại sao lại sử dụng Aspose.Note for .NET để trích xuất văn bản?

  • Hoạt động hoàn toàn ngoại tuyến mà không sử dụng Microsoft OneNote.
  • Extracts text with formatting and structure preserved.
  • Hỗ trợ tất cả các phần tử bảng (đầu bảng, ô, bảng lồng nhau).
  • Cung cấp hỗ trợ LINQ mạnh mẽ để lọc và truy vấn nội dung.
  • Tích hợp dễ dàng với các ứng dụng .NET hiện có.

Dù bạn đang xây dựng các công cụ phân tích, các kịch bản tự động hóa, hay các trình chuyển đổi ghi chú tùy chỉnh, Aspose.Note cung cấp cho bạn sự linh hoạt và kiểm soát cần thiết.

Bạn có thể nhận giấy phép tạm thời miễn phí từ trang Aspose License Page để thử nghiệm Aspose.Note for .NET mà không bị hạn chế. Chỉ mất một phút để đăng ký, và bạn sẽ có thể kiểm tra đầy đủ các tính năng của thư viện.

Tài nguyên bổ sung miễn phí

Kết luận

Trích xuất văn bản từ bảng trong OneNote không cần phải phức tạp. Với Aspose.Note for .NET, bạn có thể dễ dàng lấy văn bản từ toàn bộ bảng, các hàng cụ thể hoặc các ô riêng lẻ chỉ bằng vài dòng mã C#. API xử lý việc phân tích, quản lý nút và duyệt nội dung trong khi bạn tập trung vào việc sử dụng dữ liệu đó theo cách bạn cần.

Nếu bạn có bất kỳ câu hỏi nào hoặc cần giúp đỡ để bắt đầu, hãy truy cập diễn đàn hỗ trợ miễn phí của chúng tôi để kết nối với đội ngũ Aspose.Note.

Các câu hỏi thường gặp

Q: Tôi có thể trích xuất văn bản từ một bảng cụ thể trong tài liệu OneNote của mình không?

Có, bạn có thể lọc các nút bảng bằng cách sử dụng LINQ hoặc lựa chọn dựa trên chỉ số để nhắm mục tiêu các bảng cụ thể cho việc trích xuất.

Q: Tôi có cần cài đặt Microsoft OneNote để sử dụng Aspose.Note for .NET không?

Không, Aspose.Note for .NET hoạt động độc lập và không yêu cầu Microsoft OneNote hoặc bất kỳ phần mềm bên ngoài nào khác.

Q: Aspose.Note for .NET có giữ nguyên cấu trúc bảng trong quá trình trích xuất văn bản không?

Vâng, nó bảo tồn cấu trúc logic của các bảng, cho phép bạn trích xuất nội dung từ toàn bộ bảng, hàng, hoặc các ô riêng lẻ trong khi vẫn giữ nguyên thứ tự.

Q: Tôi có thể trích xuất văn bản định dạng từ bảng OneNote không?

Aspose.Note chủ yếu trích xuất văn bản thuần túy. Tuy nhiên, bạn có thể truy cập và xử lý các đối tượng văn bản phong phú nếu bạn cần chi tiết định dạng.

Q: Aspose.Note for .NET có tương thích với .NET Core và .NET 6+ không?

Có, nó hỗ trợ .NET Framework, .NET Core và các phiên bản .NET mới nhất trên Windows, Linux và macOS.

See Also