Chỉnh sửa siêu dữ liệu EPUB bằng Java

Trong bài viết trước, chúng tôi đã thảo luận về quản lý siêu dữ liệu EPUB & Dublin Core bằng C#. Hôm nay, chúng ta sẽ tìm hiểu cách bạn có thể đọc, chỉnh sửa và cập nhật các thuộc tính siêu dữ liệu EPUB theo chương trình, bao gồm tập hợp thuộc tính Dublin Core bằng cách sử dụng Java.

Tệp EPUB là định dạng sách kỹ thuật số bao gồm văn bản, hình ảnh và các yếu tố tương tác. Nó được tạo bằng các công nghệ web phổ biến như HTML và CSS.

Siêu dữ liệu EPUB có nghĩa là thông tin quan trọng được lưu trữ bên trong tệp EPUB, như tiêu đề, tác giả, nhà xuất bản và ngôn ngữ. Dữ liệu này giúp tổ chức sách kỹ thuật số đúng cách.

Dưới đây là các chủ đề chúng tôi sẽ đề cập:

API Java để chỉnh sửa siêu dữ liệu

GroupDocs.Metadata cung cấp API Java được thiết kế để tự động hóa việc quản lý siêu dữ liệu cho các định dạng tệp khác nhau trong các ứng dụng Java. API này cho phép đọc, cập nhật, thêm, dọn dẹp và xóa siêu dữ liệu khỏi nhiều loại tệp khác nhau. Trong cuộc thảo luận hôm nay, chúng tôi sẽ sử dụng API này để xử lý siêu dữ liệu của sách điện tử ở định dạng EPUB.

Bạn có thể lấy tệp JAR từ phần tải xuống hoặc kết hợp các cấu hình Maven phụ thuộc và kho lưu trữ mới nhất vào các ứng dụng Java của bạn.

<repository>
    <id>GroupDocsJavaAPI</id>
    <name>GroupDocs Java API</name>
    <url>https://releases.groupdocs.com/java/repo/</url>
</repository>

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-metadata</artifactId>
    <version>23.10</version>
</dependency>

Sửa đổi siêu dữ liệu EPUB bằng Java

Là nhà phát triển Java, nếu bạn muốn sửa đổi thuộc tính siêu dữ liệu EPUB, hãy làm theo các bước sau:

  1. Tải Sách điện tử EPUB bằng lớp Siêu dữ liệu.
  2. Sử dụng phương thức getRootPackageGeneric để trích xuất gói gốc siêu dữ liệu.
  3. Giờ đây, bạn có thể dễ dàng xem tất cả thuộc tính siêu dữ liệu của gói EPUB bằng phương thức getter tương ứng.
  4. Cập nhật các giá trị thuộc tính nếu cần bằng phương thức setter tương ứng.
  5. Lưu tệp sách điện tử với các giá trị siêu dữ liệu được cập nhật bằng phương pháp lưu.

Dưới đây là các đoạn mã Java minh họa các bước đọc và cập nhật thuộc tính siêu dữ liệu EPUB:

Đọc siêu dữ liệu EPUB

Để bắt đầu, đây là cách bạn có thể đọc siêu dữ liệu EPUB bằng Java:

// Đọc siêu dữ liệu EPUB bằng Java
try (Metadata metadata = new Metadata("path/ebook.epub")) {
    EpubRootPackage root = metadata.getRootPackageGeneric();

    System.out.println(root.getEpubPackage().getVersion());
    System.out.println(root.getEpubPackage().getUniqueIdentifier());
    System.out.println(root.getEpubPackage().getImageCover() != null ? root.getEpubPackage().getImageCover().length : 0);
}

Cập nhật siêu dữ liệu EPUB

Mã nguồn Java sau đây trình bày cách tìm nạp và cập nhật các thuộc tính siêu dữ liệu EPUB của tệp EPUB:

// Cập nhật siêu dữ liệu EPUB bằng Java
try (Metadata metadata = new Metadata("path/ebook.epub")) {
    EpubRootPackage root = metadata.getRootPackageGeneric();

    root.getEpubPackage().setCreator("GroupDocs");
    root.getEpubPackage().setDescription("test e-book");
    root.getEpubPackage().setFormat("EPUB");
    root.getEpubPackage().setDate(new Date().toString());

    metadata.save("path/ebook.epub");
}

Sửa đổi siêu dữ liệu lõi EPUB Dublin bằng Java

Siêu dữ liệu Dublin Core bao gồm một số mục mô tả cả tài nguyên vật lý và tài nguyên kỹ thuật số. Bạn có thể sửa đổi các thuộc tính siêu dữ liệu Dublin Core bằng cách sử dụng mã Java theo cách tương tự như siêu dữ liệu EPUB.

Đọc lõi Dublin

Các dòng mã sau đây minh họa cách trích xuất các mục siêu dữ liệu Dublin Core để phân tích:

// Đọc siêu dữ liệu Dublin Core bằng Java
try (Metadata metadata = new Metadata("path/ebook.epub")) {
    EpubRootPackage root = metadata.getRootPackageGeneric();

    System.out.println(root.getDublinCorePackage().getRights());
    System.out.println(root.getDublinCorePackage().getPublisher());
    System.out.println(root.getDublinCorePackage().getTitle());
    System.out.println(root.getDublinCorePackage().getCreator());
    System.out.println(root.getDublinCorePackage().getLanguage());
    System.out.println(root.getDublinCorePackage().getDate());
}

Cập nhật lõi Dublin

Bạn có thể thay đổi các thuộc tính Dublin Core cụ thể nếu cần, như minh họa trong đoạn mã bên dưới:

// Cập nhật siêu dữ liệu Dublin Core bằng Java
try (Metadata metadata = new Metadata("path/ebook.epub")) {
    EpubRootPackage root = metadata.getRootPackageGeneric();

    root.getDublinCorePackage().setProperties(new WithNameSpecification("dc:creator"), new PropertyValue("GroupDocs"));
    root.getDublinCorePackage().setProperties(new WithNameSpecification("dc:description"), new PropertyValue("test e-book"));
    root.getDublinCorePackage().setProperties(new WithNameSpecification("dc:title"), new PropertyValue("test EPUB"));
    root.getDublinCorePackage().setProperties(new WithNameSpecification("dc:date"), new PropertyValue(new Date().toString()));

    metadata.save("path/ebook.epub");
}

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

Nếu muốn trải nghiệm đầy đủ các khả năng của API này, bạn có thể nhận giấy phép tạm thời miễn phí.

Phần kết luận

Trong bài viết này, chúng tôi đã xem xét việc thao tác siêu dữ liệu EPUB. Ban đầu, chúng tôi đã khám phá cách đọc và sửa đổi các thuộc tính siêu dữ liệu EPUB theo chương trình bằng cách sử dụng Java. Sau đó, chúng tôi áp dụng các kỹ thuật tương tự cho bộ mục Dublin Core trong sách điện tử.

Để biết thông tin chi tiết về API, độc giả vui lòng tham khảo:

Mọi câu hỏi hoặc thảo luận thêm có thể được chuyển đến diễn đàn được cung cấp.

Xem thêm