Java での PDF ファイル メタデータの操作

Aspose.PDF for Java は、メタデータを操作するための主に 2 つの方法を提供します。

  • DOM API を介して Document、DocumentInfo、および document.getMetadata() を使用します。
  • ファサード API を通じて PdfFileInfo を使用します。

PDF ファイル情報の取得

著者、タイトル、サブジェクト、キーワードなどの標準的なドキュメント情報フィールドを読み取る必要がある場合は、この例を使用してください。

  1. ソース PDF の Document を開いてください。
  2. DocumentInfo オブジェクトにアクセスしてください。
  3. 必要なメタデータフィールドを読み取り、その値を出力してください。
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());
    }
}

名前空間プレフィックスでメタデータの設定

登録された名前空間プレフィックスを使用して XMP プロパティを追加または更新する必要がある場合は、この例を使用してください。

  1. ソース PDF の Document を開いてください。
  2. 必要な XMP 名前空間を登録し、メタデータ項目を追加してください。
  3. 更新された文書を保存してください。
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);
}

ドキュメント情報フィールドの更新

作者、タイトル、製作者、作成日などの標準的な PDF ファイルプロパティを書き込む場合は、この例を使用してください。

  1. ソース PDF の Document を開いてください。
  2. DocumentInfo にアクセスし、新しいメタデータ値を割り当ててください。
  3. 更新されたファイル情報でドキュメントを保存してください。
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);
}

XMP メタデータ プロパティの設定

追加の XMP エントリやカスタムメタデータ値を保存する必要がある場合は、この例を使用してください。

  1. ソース PDF の Document を開いてください。
  2. 必要な XMP メタデータ項目を document.getMetadata() に追加してください。
  3. 出力ファイルを保存してください。
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);
}