Bekerja dengan metadata file PDF dalam Java

Aspose.PDF for Java menyediakan dua cara utama untuk bekerja dengan metadata:

  • API DOM melalui Document, DocumentInfo, dan document.getMetadata().
  • API façade melalui PdfFileInfo.

Mendapatkan informasi file PDF

Gunakan contoh ini ketika Anda perlu membaca bidang informasi dokumen standar seperti penulis, judul, subjek, atau kata kunci.

  1. Buka PDF sumber Document.
  2. Akses objek DocumentInfo.
  3. Baca bidang metadata yang diperlukan dan keluarkan nilainya.
public static void getPdfFileInformation(Path inputFile) {
    try (Document document = new Document(inputFile.toString())) {
        DocumentInfo docInfo = document.getInfo();

        System.out.println("Author: " + docInfo.getAuthor());
        System.out.println("Creation Date: " + docInfo.getCreationDate());
        System.out.println("Keywords: " + docInfo.getKeywords());
        System.out.println("Modify Date: " + docInfo.getModDate());
        System.out.println("Subject: " + docInfo.getSubject());
        System.out.println("Title: " + docInfo.getTitle());
    }
}

Mengatur metadata dengan awalan namespace

Gunakan contoh ini ketika Anda perlu menambahkan atau memperbarui properti XMP dengan menggunakan awalan namespace yang terdaftar.

  1. Buka PDF sumber Document.
  2. Daftarkan namespace XMP yang diperlukan dan tambahkan item metadata.
  3. Simpan dokumen yang diperbarui.
public static void setPrefixMetadata(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        document.getMetadata().registerNamespaceUri("xmp", "http://ns.adobe.com/xap/1.0/");
        document.getMetadata().addItem("xmp:ModifyDate", OffsetDateTime.now().toString());
        document.save(outputFile.toString());
    }
    System.out.println("Prefix metadata saved to " + outputFile);
}

Memperbarui bidang informasi dokumen

Gunakan contoh ini ketika Anda ingin menulis properti file PDF standar seperti penulis, judul, pembuat, atau tanggal pembuatan.

  1. Buka PDF sumber Document.
  2. Akses DocumentInfo dan tetapkan nilai metadata baru.
  3. Simpan dokumen dengan informasi file yang diperbarui.
public static void setFileInformation(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        DocumentInfo docInfo = document.getInfo();
        Date now = new Date();

        docInfo.setAuthor("Aspose");
        docInfo.setCreationDate(now);
        docInfo.setKeywords("Aspose.Pdf, DOM, API");
        docInfo.setModDate(now);
        docInfo.setSubject("PDF Information");
        docInfo.setTitle("Setting PDF Document Information");
        docInfo.setProducer("Custom producer");
        docInfo.setCreator("Custom creator");

        document.save(outputFile.toString());
    }
    System.out.println("File information saved to " + outputFile);
}

Mengatur properti metadata XMP

Gunakan contoh ini ketika Anda perlu menyimpan entri XMP tambahan, termasuk nilai metadata khusus.

  1. Buka PDF sumber Document.
  2. Tambahkan item metadata XMP yang diperlukan melalui document.getMetadata().
  3. Simpan file output.
public static void setXmpMetadata(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        document.getMetadata().addItem("xmp:CreateDate", OffsetDateTime.now().toString());
        document.getMetadata().addItem("xmp:Nickname", "Nickname");
        document.getMetadata().addItem("xmp:CustomProperty", "Custom Value");
        document.save(outputFile.toString());
    }
    System.out.println("XMP metadata saved to " + outputFile);
}