Trích xuất Văn bản và Hình ảnh từ OneNote trong C#

Chúng tôi thu thập, sắp xếp và cộng tác các ghi chú và ý tưởng trong tài liệu OneNote. Đây là một loại sổ tay kỹ thuật số được sử dụng để ghi chú và chia sẻ với những người dùng OneNote khác. Trong một số trường hợp nhất định, chúng tôi có thể cần trích xuất văn bản hoặc hình ảnh từ tài liệu OneNote theo chương trình mà không cần sử dụng MS OneNote. Trong bài viết này, chúng ta sẽ tìm hiểu cách trích xuất văn bản và hình ảnh từ OneNote trong C#.

Các chủ đề sau sẽ được đề cập trong bài viết này:

API C# để trích xuất văn bản và hình ảnh từ OneNote

Để trích xuất văn bản và hình ảnh từ tài liệu OneNote, chúng tôi sẽ sử dụng API Aspose.Note cho .NET. Đây là một API thao tác tài liệu OneNote giàu tính năng cho phép bạn tạo, đọc và chuyển đổi tài liệu OneNote theo chương trình. Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Note

Trích xuất tất cả văn bản từ OneNote trong C#

Chúng tôi có thể dễ dàng trích xuất tất cả văn bản từ tài liệu OneNote bằng cách làm theo các bước dưới đây:

  1. Trước hết, tải tệp OneNote bằng lớp Tài liệu.
  2. Sau đó, gọi phương thức GetChildNodes với RichText là NodeType để trích xuất văn bản.
  3. Cuối cùng, hiển thị văn bản được trích xuất.

Mẫu mã sau đây cho biết cách trích xuất tất cả văn bản từ tệp OneNote bằng C#.

// Ví dụ mã này trình bày cách trích xuất tất cả văn bản từ tài liệu OneNote.
// Tải tài liệu vào Aspose.Note.
Document oneFile = new Document(@"C:\Files\Note\Aspose.one");

// Lấy văn bản
string text = string.Join(Environment.NewLine, oneFile.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;

// In văn bản
Console.WriteLine(text);
Trích xuất tất cả văn bản từ tài liệu OneNote.

Trích xuất tất cả văn bản từ tài liệu OneNote.

Trích xuất văn bản từ các trang cụ thể của OneNote trong C#

Chúng tôi có thể trích xuất văn bản từ các trang cụ thể của tài liệu OneNote bằng cách làm theo các bước được cung cấp bên dưới:

  1. Trước hết, tải tệp OneNote bằng lớp Tài liệu.
  2. Tiếp theo, gọi phương thức GetChildNodes với TrangNodeType để trích xuất các trang.
  3. Sau đó, lấy danh sách các mục văn bản bằng phương pháp GetChildNodes với RichText là NodeType.
  4. Cuối cùng, hiển thị văn bản được trích xuất.

Mẫu mã sau đây cho biết cách trích xuất văn bản từ một trang cụ thể của tệp OneNote bằng C#.

// Ví dụ mã này trình bày cách lấy văn bản từ một trang cụ thể.
// Nhận trang đầu tiên từ danh sách các nút trang
var page = oneFile.GetChildNodes<Page>().FirstOrDefault();

if (page != null)
{
    // Lấy văn bản
    IList<RichText> textNodes = page.GetChildNodes<RichText>();

    foreach (RichText t in textNodes)
    {
        // In văn bản
        Console.WriteLine(t.Text);
    }
}

Trích xuất hình ảnh từ OneNote trong C#

Chúng tôi cũng có thể trích xuất hình ảnh từ tài liệu OneNote bằng cách làm theo các bước dưới đây:

  1. Trước hết, tải tệp OneNote bằng lớp Tài liệu.
  2. Sau đó, lấy danh sách các hình ảnh bằng phương pháp GetChildNodes với Hình ảnhNodeType.
  3. Cuối cùng, hiển thị các thuộc tính hình ảnh và lưu vào đĩa cục bộ.

Mẫu mã sau đây cho biết cách trích xuất hình ảnh từ tệp OneNote bằng C#.

// Ví dụ mã này trình bày cách trích xuất tất cả các hình ảnh.
// Nhận tất cả các nút Hình ảnh
IList<Aspose.Note.Image> nodes = oneFile.GetChildNodes<Aspose.Note.Image>();

foreach (Aspose.Note.Image image in nodes)
{
    Console.WriteLine("Width: {0}", image.Width);
    Console.WriteLine("Height: {0}", image.Height);
    Console.WriteLine("OriginalWidth: {0}", image.OriginalWidth);
    Console.WriteLine("OriginalHeight: {0}", image.OriginalHeight);
    Console.WriteLine("FileName: {0}", image.FileName);
    Console.WriteLine("LastModifiedTime: {0}", image.LastModifiedTime);

    using (MemoryStream stream = new MemoryStream(image.Bytes))
    {
        using (Bitmap bitMap = new Bitmap(stream))
        {
            // Lưu các byte hình ảnh vào một tệp
            bitMap.Save(String.Format(@"C:\Files\Note\" + "{0}", Path.GetFileName(image.FileName)));
        }
    }

    Console.WriteLine("Image saved!");
    Console.WriteLine();
}
Trích xuất hình ảnh từ tài liệu OneNote.

Trích xuất hình ảnh từ tài liệu OneNote.

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử thư viện mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, chúng ta đã học cách trích xuất văn bản từ tài liệu OneNote hoặc từ các trang cụ thể của tài liệu. Chúng tôi cũng đã biết cách trích xuất hình ảnh từ tài liệu OneNote theo chương trình. Ngoài ra, bạn có thể tìm hiểu thêm về Aspose.Note for .NET API bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm