Javaを使用してPDFファイルのメタデータを編集する

ドキュメントのメタデータには、タイトル、作成者、件名、キーワードなどのプロパティの形式でドキュメントに関する基本情報が含まれます。ExtensibleMetadata Platform(XMP)は、ドキュメントのメタデータをキー/値として格納するためのXMLベースの標準です。ペア。 PDFドキュメントのドキュメント情報とXMPメタデータをプログラムで追加、編集、または読み取ることができます。この記事では、Javaを使用してPDFプロパティとメタデータを編集する方法を学習します。

この記事では、次のトピックについて説明します。

PDFプロパティとメタデータを編集するためのJavaAPI

PDFのプロパティとメタデータ情報を編集するには、Aspose.PDF for JavaAPIを使用します。これにより、Adobe Acrobatを使用せずに、サポートされているドキュメントを生成、変更、変換、レンダリング、保護、および印刷することができます。 APIのJARをダウンロードするか、MavenベースのJavaアプリケーションに次のpom.xml構成を追加してください。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.3</version>
</dependency>

Javaを使用してPDFプロパティを編集する

PDFドキュメントのメタ情報を表すPdfFileInfoクラスを使用して、PDFドキュメント情報を編集できます。以下の手順に従って、さまざまな事前定義されたプロパティを設定できます。

  1. まず、PdfFileInfoクラスを使用してPDFドキュメントをロードします。
  2. 著者、作成者、キーワード、件名、タイトルなどのさまざまなプロパティを設定します。
  3. 最後に、saveNewInfo()メソッドを使用して、出力ファイルのパスを引数としてPDFファイルを保存します。

次のコードサンプルは、Javaを使用してPDFファイルのメタプロパティを編集する方法を示しています。

// このコード例は、PDFドキュメントの基本情報を設定する方法を示しています。
// オープンソースドキュメント
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\sample.pdf");

// PDF情報を設定する
fileInfo.setAuthor("Aspose");
fileInfo.setTitle("Editing Metadata");
fileInfo.setKeywords("Aspose.Pdf, DOM, API");
fileInfo.setSubject("PDF Information");
fileInfo.setCreator("Aspose");

// 更新したファイルを保存する
fileInfo.saveNewInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");
JavaでPDFファイルのメタプロパティを編集します。

JavaでPDFファイルのメタプロパティを編集します。

Javaを使用してPDFプロパティを読み取る

以下の手順に従って、PDFドキュメントの基本情報を読み取ることができます。

  1. まず、PdfFileInfoクラスを使用してPDFドキュメントをロードします。
  2. 最後に、メタプロパティの値を読み取って、ドキュメント情報を表示します。

次のコードサンプルは、Javaを使用してPDFファイルのメタプロパティを取得する方法を示しています。

// このコード例は、PDFドキュメントの基本情報を取得する方法を示しています。
// ドキュメントを開く
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");

// PDF情報を取得する
System.out.println("Subject :" + fileInfo.getSubject());
System.out.println("Title :" + fileInfo.getTitle());
System.out.println("Keywords :" + fileInfo.getKeywords());
System.out.println("Creator :" + fileInfo.getCreator());
System.out.println("Creation Date :" + fileInfo.getCreationDate());
System.out.println("Modification Date :" + fileInfo.getModDate());

// それが有効なPDFであり、暗号化されているかどうかを確認します
System.out.println("Is Valid PDF :" + fileInfo.isPdfFile());
// ファイルが暗号化されている場合は、ファイルを開くためのパスワードを入力する必要があります
// PdfFileInfoコンストラクターの2番目の引数として
System.out.println("Is Encrypted :" + fileInfo.isEncrypted());
Subject :PDF Information
Title :Editing Metadata
Keywords :Aspose.Pdf, DOM, API
Creator :Aspose
Creation Date :D:20170612160123-04'00'
Modification Date :D:20220405214422+05'00'
Is Valid PDF :true
Is Encrypted :false

JavaでPDFファイルのXMPメタデータを取得する

以下の手順に従って、PDFドキュメントのXMPメタデータを読み取ることができます。

  1. まず、Documentクラスを使用してPDFドキュメントをロードします。
  2. 最後に、MetadataクラスのgetItem()メソッドを使用してメタデータを読み取り、情報を抽出します。

次のコードサンプルは、Javaを使用してPDFファイルのXMPメタデータを取得する方法を示しています。

// このコード例は、PDFドキュメントのXMPメタデータを取得する方法を示しています。
// ドキュメントを開く
Document pdfDocument = new Document("D:\\Files\\PDF\\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"));
xmp:CreateDate : 2022-04-05T10:05:24.4
xmp:Nickname : Nickname
xmp:CustomProperty : Custom Value

JavaでPDFファイルにXMPメタデータを設定する

以下の手順に従って、PDFファイルにXMPメタデータを設定できます。

  1. まず、Documentクラスを使用してPDFドキュメントをロードします。
  2. 次に、MetadataクラスのsetItem()メソッドを使用してメタデータ値を設定します。
  3. 最後に、Document.save()メソッドを使用して、出力ファイルのパスを引数としてPDFファイルを保存します。

次のコードサンプルは、Javaを使用してPDFファイルのXMPメタデータを設定する方法を示しています。

// このコード例は、PDFドキュメントのXMPメタデータを設定する方法を示しています。
// ドキュメントを開く
Document pdfDocument = new Document("D:\\Files\\PDF\\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("D:\\Files\\PDF\\SetXMPMetadata.pdf");

PDFファイルのXMPメタデータ名前空間をカスタマイズする

PDFファイルで定義されたXMP仕様の代わりに、カスタマイズされた名前空間URIを設定できます。この目的のために、APIはMetadataクラスのregisterNamespaceUriメソッドを提供します。以下の手順に従って、プレフィックス付きの新しいメタデータ名前空間を作成できます。

  1. まず、Documentクラスを使用してPDFドキュメントをロードします。
  2. 次に、プレフィックスと名前空間URIを引数として、registerNamespaceUri()メソッドを呼び出します。
  3. 次に、setItem()メソッドを使用してメタデータ値を設定します。
  4. 最後に、Document.Save()メソッドを使用して、出力ファイルのパスを引数としてPDFファイルを保存します。

次のコードサンプルは、Javaを使用してPDFファイルにカスタムメタデータ名前空間を設定する方法を示しています。

// このコード例は、PDFドキュメントのカスタマイズされたXMPメタデータを設定する方法を示しています。
// ドキュメントを開く
Document pdfDocument = new Document("D:\\Files\\PDF\\sample.pdf");

// カスタマイズされたプロパティを設定する
pdfDocument.getMetadata().registerNamespaceUri("myown", "http:// myown.xyz.com/xap/1.0/");
pdfDocument.getMetadata().set_Item("myown:ModifyDate", new XmpValue(new java.util.Date()));
pdfDocument.getMetadata().set_Item("myown:CreateDate", new XmpValue(new java.util.Date()));
pdfDocument.getMetadata().set_Item("myown:DeveloperName", new XmpValue("Developer Name"));
pdfDocument.getMetadata().set_Item("myown:MyProperty", new XmpValue("My Custom Value"));

// ドキュメントを保存
pdfDocument.save("D:\\Files\\PDF\\CustomizedXMPMetadata.pdf");

前述の手順に従うことで、カスタマイズされたXMPメタデータプロパティを読み取ることができます。

NamespaceUri: http:// myown.xyz.com/xap/1.0/
myown:ModifyDate: 2022-04-05T10:18:45.9
myown:CreateDate: 2022-04-05T10:18:45.9
myown:DeveloperName: Developer Name
myown:MyProperty: My Custom Value

無料のAPIライセンスを取得する

無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。

結論

この記事では、次の方法を学びました。

  • Javaを使用してPDFドキュメントの基本情報を追加/編集します。
  • Javaを使用してPDFファイルでXMPメタデータを設定/取得します。
  • プレフィックスを使用してカスタムメタデータ名前空間URIを設定します。

さらに、ドキュメントを使用して、Aspose.PDF forJavaAPIの詳細を学ぶことができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目