การแก้ไขข้อมูลเมตาของ EPUB โดยใช้ Java

ในบทความที่แล้ว เราได้พูดคุยถึง การจัดการข้อมูลเมตาของ EPUB และ Dublin Core โดยใช้ C# วันนี้ เราจะเรียนรู้วิธีอ่าน แก้ไข และอัปเดตคุณสมบัติข้อมูลเมตาของ EPUB ด้วยวิธีทางโปรแกรม รวมถึงชุดคุณสมบัติ Dublin Core โดยใช้ Java

ไฟล์ EPUB เป็นรูปแบบหนังสือดิจิทัลที่มีข้อความ รูปภาพ และองค์ประกอบแบบโต้ตอบ สร้างขึ้นโดยใช้เทคโนโลยีเว็บทั่วไป เช่น HTML และ CSS

ข้อมูลเมตาของ EPUB หมายถึงข้อมูลสำคัญที่จัดเก็บไว้ในไฟล์ EPUB เช่น ชื่อผู้แต่ง ผู้จัดพิมพ์ และภาษา ข้อมูลนี้ช่วยในการจัดระเบียบหนังสือดิจิทัลอย่างเหมาะสม

นี่คือหัวข้อที่เราจะกล่าวถึง:

Java API สำหรับการแก้ไขข้อมูลเมตา

GroupDocs.Metadata นำเสนอ Java API ที่ออกแบบมาเพื่อทำให้การจัดการข้อมูลเมตาเป็นอัตโนมัติสำหรับรูปแบบไฟล์ต่างๆ ในแอปพลิเคชัน Java API นี้ช่วยให้สามารถอ่าน อัปเดต เพิ่ม ทำความสะอาด และลบข้อมูลเมตาออกจากไฟล์ประเภทต่างๆ ในการสนทนาของเราวันนี้ เราจะใช้ API นี้เพื่อจัดการข้อมูลเมตาของ eBook ในรูปแบบ EPUB

คุณสามารถรับไฟล์ JAR ได้จาก ส่วนการดาวน์โหลด หรือรวมที่เก็บข้อมูลล่าสุดและการกำหนดค่า Maven ที่ขึ้นต่อกันเข้ากับแอปพลิเคชัน Java ของคุณ

<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>

การแก้ไขข้อมูลเมตาของ EPUB ด้วย Java

ในฐานะนักพัฒนา Java หากคุณต้องการแก้ไขคุณสมบัติข้อมูลเมตาของ EPUB ให้ทำตามขั้นตอนเหล่านี้:

  1. โหลด EPUB eBook โดยใช้คลาส Metadata
  2. ใช้เมธอด getRootPackageGeneric เพื่อแยกแพ็กเกจรูทข้อมูลเมตา
  3. ตอนนี้คุณสามารถดูคุณสมบัติเมทาดาทาทั้งหมดของแพ็คเกจ EPUB ได้อย่างง่ายดายโดยใช้วิธี getter ที่เกี่ยวข้อง
  4. อัปเดตค่าคุณสมบัติตามความจำเป็นโดยใช้วิธีตั้งค่าที่เกี่ยวข้อง
  5. บันทึกไฟล์ eBook ด้วยค่าข้อมูลเมตาที่อัปเดตโดยใช้วิธีการบันทึก

ด้านล่างนี้คือตัวอย่างโค้ด Java ที่แสดงขั้นตอนในการอ่านและอัปเดตคุณสมบัติข้อมูลเมตาของ EPUB:

อ่านข้อมูลเมตาของ EPUB

ขั้นแรก ต่อไปนี้คือวิธีที่คุณสามารถอ่านข้อมูลเมตาของ EPUB โดยใช้ Java:

// อ่านข้อมูลเมตาของ EPUB โดยใช้ 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);
}

อัปเดตข้อมูลเมตาของ EPUB

ซอร์สโค้ด Java ต่อไปนี้สาธิตวิธีดึงข้อมูลและอัปเดตคุณสมบัติข้อมูลเมตา EPUB ของไฟล์ EPUB:

// อัปเดตข้อมูลเมตาของ EPUB โดยใช้ 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");
}

การแก้ไข EPUB Dublin Core Metadata ด้วย Java

ข้อมูลเมตา Dublin Core ประกอบด้วยบางรายการที่อธิบายทั้งทรัพยากรทางกายภาพและดิจิทัล คุณสามารถแก้ไขคุณสมบัติข้อมูลเมตาของ Dublin Core ได้โดยใช้โค้ด Java ในลักษณะที่คล้ายกับข้อมูลเมตาของ EPUB

อ่านดับลินคอร์

บรรทัดโค้ดต่อไปนี้สาธิตวิธีแยกรายการข้อมูลเมตาของ Dublin Core เพื่อการวิเคราะห์:

// อ่านข้อมูลเมตาของ Dublin Core โดยใช้ 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());
}

อัปเดตดับลินคอร์

คุณสามารถเปลี่ยนคุณสมบัติ Dublin Core เฉพาะได้ตามต้องการ ดังที่แสดงในโค้ดด้านล่าง:

// อัปเดตข้อมูลเมตาของ Dublin Core โดยใช้ 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");
}

การได้รับใบอนุญาตฟรี

หากคุณต้องการสัมผัสประสบการณ์ความสามารถของ API นี้อย่างเต็มที่ คุณสามารถรับ ใบอนุญาตชั่วคราวได้ฟรี

บทสรุป

ในบทความนี้ เราได้พิจารณาการจัดการข้อมูลเมตาของ EPUB ในตอนแรก เราได้ศึกษาวิธีการอ่านและแก้ไขคุณสมบัติข้อมูลเมตาของ EPUB โดยทางโปรแกรมโดยใช้ Java ต่อมา เราใช้เทคนิคเดียวกันนี้กับชุดรายการ Dublin Core ภายใน eBooks

สำหรับข้อมูล API โดยละเอียด ผู้อ่านควรอ้างอิงถึง:

หากมีคำถามหรือข้อหารือเพิ่มเติม โปรดไปที่ ฟอรั่ม ที่ให้ไว้

ดูสิ่งนี้ด้วย