PDFファイルメタデータの操作
Contents
 [
      
        Hide
      ]
    PDFファイル情報の取得
PDFファイルに関するファイル固有の情報を取得するには、まずDocumentクラスのgetInfo()メソッドを使用してDocumentInfoオブジェクトを取得します。DocumentInfoオブジェクトが取得されたら、個々のプロパティの値を取得できます。
以下のコードスニペットは、PDFファイル情報を設定する方法を示しています。
public class ExampleMetadata {
    private static String _dataDir = "/home/aspose/pdf-examples/Samples/Metadata/";
    public static void GetPDFFileInformation() {
        // 新しいPDFドキュメントを作成
        Document pdfDocument = new Document(_dataDir + "sample.pdf");
        // ドキュメント情報を取得
        DocumentInfo docInfo = pdfDocument.getInfo();
        // ドキュメント情報を表示
        System.out.println("著者: " + docInfo.getAuthor());
        System.out.println("作成日: " + docInfo.getCreationDate());
        System.out.println("キーワード: " + docInfo.getKeywords());
        System.out.println("修正日: " + docInfo.getModDate());
        System.out.println("件名: " + docInfo.getSubject());
        System.out.println("タイトル: " + docInfo.getTitle());
    }
PDFファイル情報の設定
Aspose.PDF for Javaを使用すると、PDFに対して特定のファイル情報(著者、作成日、件名、タイトルなど)を設定することができます。
この情報を設定するには:
- DocumentInfo オブジェクトを作成します。
- プロパティの値を設定します。
- Document クラスの save() メソッドを使用して、更新されたドキュメントを保存します。
Producer および Creator フィールドに対して値を設定することはできません。これらのフィールドには Aspose.PDF for Java x.x.x が表示されますのでご注意ください。
次のコードスニペットは、PDFファイル情報を設定する方法を示しています。
 public static void SetPDFFileInformation() {
        // ドキュメントを開く
        Document pdfDocument = new Document(_dataDir + "sample.pdf");
        // ドキュメント情報を指定する
        DocumentInfo docInfo = new DocumentInfo(pdfDocument);
        docInfo.setAuthor("Aspose");
        docInfo.setCreationDate(new java.util.Date());
        docInfo.setKeywords("Aspose.Pdf, DOM, API");
        docInfo.setModDate(new java.util.Date());
        docInfo.setSubject("PDF Information");
        docInfo.setTitle("Setting PDF Document Information");
        // 出力ドキュメントを保存する
        pdfDocument.save(_dataDir + "SetFileInfo_out.pdf");
    }
PDFファイルからXMPメタデータを取得する
Aspose.PDF for Javaを使用すると、PDFファイルのXMPメタデータにアクセスできます。
PDFファイルのメタデータを取得するには、
- Document オブジェクトを作成し、入力PDFファイルを開きます。
- getMetadata() プロパティを使用してメタデータを取得します。
次のコードスニペットは、PDFファイルからメタデータを取得する方法を示しています。
   public static void GetXMPMetadata() {
        // ドキュメントを開く
        Document pdfDocument = new Document(_dataDir + "SetXMPMetadata.pdf");
        System.out.println("xmp:CreateDate: " + pdfDocument.getMetadata().get_Item("xmp:CreateDate"));
        System.out.println("xmp:Nickname: " + pdfDocument.getMetadata().get_Item("xmp:Nickname"));
        System.out.println("xmp:CustomProperty: " + pdfDocument.getMetadata().get_Item("xmp:CustomProperty"));
    }
PDFファイルにXMPメタデータを設定する
Aspose.PDF for Javaを使用すると、PDFファイルにメタデータを設定できます。 メタデータを設定するには:
- Document オブジェクトを作成します。
- getMetadata() プロパティを使用してメタデータの値を設定します。
- Document オブジェクトの save() メソッドを使用して更新されたドキュメントを保存します。
次のコードスニペットは、PDFファイルにメタデータを設定する方法を示しています。
    public static void SetXMPMetadata() {
        // ドキュメントを開く
        Document pdfDocument = new Document(_dataDir + "sample.pdf");
        // プロパティを設定
        pdfDocument.getMetadata().set_Item("xmp:CreateDate", new XmpValue(new java.util.Date()));
        pdfDocument.getMetadata().set_Item("xmp:Nickname", new XmpValue("Nickname"));
        pdfDocument.getMetadata().set_Item("xmp:CustomProperty", new XmpValue("Custom Value"));
        // ドキュメントを保存
        pdfDocument.save(_dataDir + "SetXMPMetadata.pdf");
    }
プレフィックス付きメタデータの挿入
一部の開発者は、プレフィックス付きで新しいメタデータ名前空間を作成する必要があります。以下のコードスニペットは、プレフィックス付きでメタデータを挿入する方法を示しています。
    public static void InsertMetadataWithPrefix() {
        // ドキュメントを開く
        Document pdfDocument = new Document(_dataDir + "SetXMPMetadata.pdf");
        pdfDocument.getMetadata().registerNamespaceUri("adc", "http://tempuri.org/adc/1.0");
        pdfDocument.getMetadata().set_Item("adc:format", new XmpValue("application/pdf"));
        pdfDocument.getMetadata().set_Item("adc:title", new XmpValue("alternative title"));        
        // ドキュメントを保存
        pdfDocument.save(_dataDir + "SetPrefixMetadata_out.pdf");
    }
}