Travailler avec les métadonnées de fichiers PDF en Java

Aspose.PDF for Java propose deux manières principales de travailler avec les métadonnées :

  • L’API DOM via Document, DocumentInfo et document.getMetadata().
  • L’API de façade via PdfFileInfo.

Obtenir des informations sur le fichier PDF

Utilisez cet exemple lorsque vous devez lire des champs d’informations standard sur un document tels que l’auteur, le titre, le sujet ou les mots-clés.

  1. Ouvrez le PDF source Document.
  2. Accédez à l’objet DocumentInfo.
  3. Lisez les champs de métadonnées requis et affichez leurs valeurs.
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());
    }
}

Définir des métadonnées avec un préfixe d’espace de noms

Utilisez cet exemple lorsque vous devez ajouter ou mettre à jour une propriété XMP à l’aide d’un préfixe d’espace de noms enregistré.

  1. Ouvrez le PDF source Document.
  2. Enregistrez l’espace de noms XMP requis et ajoutez l’élément de métadonnées.
  3. Enregistrez le document mis à jour.
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);
}

Mettre à jour les champs d’informations sur le document

Utilisez cet exemple lorsque vous souhaitez écrire des propriétés de fichier PDF standard telles que l’auteur, le titre, le producteur ou la date de création.

  1. Ouvrez le PDF source Document.
  2. Accédez à DocumentInfo et attribuez de nouvelles valeurs de métadonnées.
  3. Enregistrez le document avec les informations de fichier mises à jour.
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);
}

Définir les propriétés des métadonnées XMP

Utilisez cet exemple lorsque vous devez stocker des entrées XMP supplémentaires, y compris des valeurs de métadonnées personnalisées.

  1. Ouvrez le PDF source Document.
  2. Ajoutez les éléments de métadonnées XMP requis via document.getMetadata().
  3. Enregistrez le fichier de sortie.
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);
}