EPUB-metagegevens bewerken met Java

In het laatste artikel hebben we het beheren van EPUB-metagegevens en Dublin Core met C# besproken. Vandaag leren we hoe u EPUB-metadata-eigenschappen, inclusief de Dublin Core set eigenschappen, programmatisch kunt lezen, bewerken en bijwerken met behulp van Java.

Een EPUB-bestand is een digitaal boekformaat dat tekst, afbeeldingen en interactieve elementen bevat. Het is gemaakt met behulp van gangbare webtechnologieën zoals HTML en CSS.

EPUB-metadata betekent belangrijke informatie die is opgeslagen in EPUB-bestanden, zoals de titel, auteur, uitgever en taal. Deze gegevens helpen bij het correct organiseren van digitale boeken.

Dit zijn de onderwerpen die we zullen behandelen:

Java-API voor het bewerken van metadata

GroupDocs.Metadata biedt een Java API die is ontworpen om het metadatabeheer voor verschillende bestandsformaten in Java-applicaties te automatiseren. Deze API maakt het lezen, bijwerken, toevoegen, opschonen en verwijderen van metadata uit verschillende bestandstypen mogelijk. In onze discussie van vandaag zullen we deze API gebruiken om de metadata van eBooks in het EPUB-formaat te verwerken.

U kunt het JAR-bestand verkrijgen via de downloadsectie of de nieuwste repository- en afhankelijkheids-Maven-configuraties in uw Java-applicaties opnemen.

<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-metagegevens wijzigen met Java

Als u als Java-ontwikkelaar de eigenschappen van EPUB-metagegevens wilt wijzigen, volgt u deze stappen:

  1. Laad het EPUB eBook met behulp van de klasse Metadata.
  2. Gebruik de getRootPackageGeneric-methode om het metagegevenshoofdpakket te extraheren.
  3. Nu kunt u eenvoudig alle metadata-eigenschappen van het EPUB-pakket bekijken met behulp van de respectievelijke getter-methode.
  4. Werk de eigenschapswaarden indien nodig bij met behulp van de respectievelijke settermethode.
  5. Sla het eBook-bestand op met de bijgewerkte metadatawaarden met behulp van de opslagmethode.

Hieronder vindt u fragmenten van Java-code die de stappen illustreren voor het lezen en bijwerken van EPUB-metagegevenseigenschappen:

Lees EPUB-metagegevens

Om te beginnen volgt hier hoe u de EPUB-metagegevens kunt lezen met Java:

// Lees EPUB-metagegevens met behulp van 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-metagegevens bijwerken

De volgende Java-broncode laat zien hoe u de EPUB-metagegevenseigenschappen van het EPUB-bestand kunt ophalen en bijwerken:

// Update EPUB-metagegevens met behulp van 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-metagegevens wijzigen met Java

Dublin Core metadata bestaat uit een aantal items die zowel fysieke als digitale bronnen beschrijven. U kunt de eigenschappen van Dublin Core-metagegevens wijzigen met behulp van Java-code op een manier die vergelijkbaar is met EPUB-metagegevens.

Lees Dublin Core

De volgende coderegels laten zien hoe u Dublin Core-metagegevensitems kunt extraheren voor analyse:

// Lees Dublin Core-metadata met behulp van 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());
}

Update Dublin Core

U kunt indien nodig specifieke Dublin Core-eigenschappen wijzigen, zoals weergegeven in de onderstaande code:

// Update Dublin Core-metagegevens met behulp van 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");
}

Een gratis licentie verkrijgen

Als u de mogelijkheden van deze API ten volle wilt ervaren, kunt u een tijdelijke licentie gratis verkrijgen.

Conclusie

In dit artikel hebben we gekeken naar manipulatie van EPUB-metagegevens. In eerste instantie hebben we onderzocht hoe we EPUB-metadata-eigenschappen programmatisch kunnen lezen en wijzigen met behulp van Java. Later hebben we dezelfde technieken toegepast op de Dublin Core-set met items binnen eBooks.

Voor gedetailleerde API-informatie worden lezers aangemoedigd om te verwijzen naar:

Eventuele vragen of verdere discussies kunnen worden gericht aan het daarvoor bestemde forum.

Zie ook