Trích xuất Văn bản hoặc Hình ảnh từ Tài liệu OneNote bằng Java

Chúng tôi có thể thu thập và sắp xếp các ghi chú dưới dạng văn bản, hình vẽ, đoạn cắt màn hình và bình luận âm thanh trong tài liệu OneNote. Đôi khi, 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 trong các ứng dụng Java. Việc trích xuất như vậy cho phép chúng tôi sử dụng lại văn bản hoặc hình ảnh đã trích xuất một cách riêng biệt. 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 hoặc hình ảnh từ tài liệu OneNote bằng Java.

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

API Java để trích xuất văn bản hoặc 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 Java. Nó cho phép tạo, đọc và chuyển đổi tài liệu OneNote theo chương trình mà không cần sử dụng MS OneNote. Vui lòng tải xuống JAR của API hoặc thêm cấu hình pom.xml sau vào ứng dụng Java dựa trên Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-note</artifactId>
    <version>22.1</version>
    <classifier>jdk17</classifier>
</dependency>

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

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.class làm đối số để 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 Java.

// 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 OneNode.
// Tải tài liệu vào Aspose.Note.
Document oneFile = new Document("D:\\Files\\Note\\Sample1.one");

// Lấy văn bản
List<RichText> textNodes = (List<RichText>) oneFile.getChildNodes(RichText.class);

for (RichText richText : textNodes) {
  if(!richText.getText().isBlank())
    System.out.println(richText.getText().toString());
}
Trích xuất tất cả văn bản từ tài liệu OneNote bằng Java

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

Lấy văn bản từ các trang cụ thể của tài liệu OneNote trong Java

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. Đầu tiên, 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 Page.class làm đối số để trích xuất các trang.
  3. Sau đó, lấy một trang cụ thể theo chỉ mục của nó từ danh sách các trang.
  4. Sau đó, lấy danh sách các mục văn bản cho trang bằng phương thức GetChildNodes với RichText.class làm đối số.
  5. 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 Java.

// Ví dụ mã này trình bày cách Trích xuất văn bản từ một trang cụ thể của tài liệu OneNode.
// Tải tài liệu vào Aspose.
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Nhận danh sách các nút trang
List<Page> pages = doc.getChildNodes(Page.class);

// Nhận trang theo chỉ mục
Page page = pages.get(0);

// Nhận văn bản của trang
List<RichText> textNodes = (List<RichText>) page.getChildNodes(RichText.class);

// Hiển thị văn bản
for (RichText richText : textNodes) {
  if(!richText.getText().isBlank())
    System.out.println(richText.getText().toString());
}
Extract Text from a Specific Page of OneNote Document in Java

Chúng tôi có thể lặp lại tất cả các trang một và trích xuất văn bản cho từng trang như được hiển thị trong mẫu mã được cung cấp bên dưới:

// Ví dụ mã này trình bày cách Trích xuất văn bản từ các trang của tài liệu OneNode.
// Tải tài liệu vào Aspose.Note.
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Nhận danh sách các nút trang
List<Page> pages = doc.getChildNodes(Page.class);

for (Page p : pages) {
  System.out.println("---- Page Started Here ----");

  List<RichText> textNodes = (List<RichText>) p.getChildNodes(RichText.class);

 for (RichText richText : textNodes) {
    if(!richText.getText().isBlank())
      System.out.println(richText.getText().toString());
  }

  System.out.println("---- Page Ended Here ----");
  System.out.println();
}
Lấy văn bản từ các trang cụ thể của tài liệu OneNote trong Java

Nhận văn bản từ tất cả các Trang một trong Java

Trích xuất hình ảnh từ tài liệu OneNote bằng Java

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. Đầu tiên, 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 thức GetChildNodes với Image.class làm đối số.
  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 Java.

// Ví dụ mã này trình bày cách Trích xuất hình ảnh từ tài liệu OneNode.
// Tải tài liệu vào Aspose.
Document doc = new Document("D:\\Files\\Note\\Sample1.one");

// Nhận tất cả hình ảnh
List<Image> list = doc.getChildNodes(Image.class);
System.out.printf("Total Images: %s\n\n", list.size());

// Duyệt qua danh sách
for (int i = 0; i < list.size(); i++) {
  Image image = list.get(i);

  // Hiển thị thuộc tính hình ảnh
  System.out.println("Width: " + image.getWidth());
  System.out.println("Height: " + image.getHeight());
  System.out.println("OriginalWidth: " + image.getOriginalWidth());
  System.out.println("OriginalHeight: " + image.getOriginalHeight());
  System.out.println("FileName: " + image.getFileName());
  System.out.println("LastModifiedTime: " + image.getLastModifiedTime());

  String outputFile = "ExtractImages_out" + i + "_" + image.getFileName();

  // Lưu hình ảnh
  byte[] buffer = image.getBytes();
  Files.write(Paths.get("D:\\Files\\Note\\Images\\" + outputFile), buffer);
  System.out.printf("File saved: %s\n", outputFile);
}
Trích xuất hình ảnh từ tài liệu OneNote bằng Java

Trích xuất hình ảnh từ tài liệu OneNote bằng Java

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ừ toàn bộ tài liệu OneNote hoặc từ một 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 Java 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