Modifier les métadonnées des fichiers PDF à l'aide de Java

Les métadonnées d’un document contiennent des informations de base sur le document sous la forme de propriétés telles que le titre, l’auteur, le sujet, les mots-clés, etc. La plate-forme de métadonnées extensibles (XMP) est une norme basée sur XML pour stocker les métadonnées d’un document sous forme de clé/valeur. paire. Nous pouvons ajouter, modifier ou lire les informations sur le document et les métadonnées XMP d’un document PDF par programmation. Dans cet article, nous allons apprendre comment modifier les propriétés et les métadonnées d’un PDF à l’aide de Java.

Les sujets suivants seront traités dans cet article :

API Java pour modifier les propriétés et les métadonnées PDF

Pour modifier les propriétés PDF et les informations de métadonnées, nous utiliserons Aspose.PDF for Java API. Il nous permet de générer, modifier, convertir, restituer, sécuriser et imprimer documents pris en charge sans utiliser Adobe Acrobat. Veuillez soit télécharger le JAR de l’API ou ajouter la configuration pom.xml suivante dans une application Java basée sur Maven.

<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>

Modifier les propriétés PDF à l’aide de Java

Nous pouvons modifier les informations d’un document PDF à l’aide de la classe PdfFileInfo qui représente les méta-informations d’un document PDF. Nous pouvons définir diverses propriétés prédéfinies en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez un document PDF en utilisant la classe PdfFileInfo.
  2. Définissez diverses propriétés telles que Author, Creator, Keywords, Subject, Title, etc.
  3. Enfin, enregistrez le fichier PDF à l’aide de la méthode saveNewInfo() avec le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment modifier les méta-propriétés d’un fichier PDF à l’aide de Java.

// Cet exemple de code montre comment définir les informations de base d'un document PDF.
// Document open source
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\sample.pdf");

// Définir les informations PDF
fileInfo.setAuthor("Aspose");
fileInfo.setTitle("Editing Metadata");
fileInfo.setKeywords("Aspose.Pdf, DOM, API");
fileInfo.setSubject("PDF Information");
fileInfo.setCreator("Aspose");

// Enregistrer le fichier mis à jour
fileInfo.saveNewInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");
Modifier les propriétés méta d'un fichier PDF en Java.

Modifier les propriétés méta d’un fichier PDF en Java.

Lire les propriétés PDF à l’aide de Java

Nous pouvons lire les informations de base d’un document PDF en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez un document PDF en utilisant la classe PdfFileInfo.
  2. Enfin, affichez les informations du document en lisant les valeurs des méta-propriétés.

L’exemple de code suivant montre comment obtenir les méta-propriétés d’un fichier PDF à l’aide de Java.

// Cet exemple de code montre comment obtenir les informations de base d'un document PDF.
// Ouvrir le document
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");

// Obtenir des informations 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());

// Trouvez s'il s'agit d'un PDF valide et s'il est également crypté
System.out.println("Is Valid PDF :" + fileInfo.isPdfFile());
// si le fichier est crypté, vous devez fournir un mot de passe d'ouverture de fichier
// comme deuxième argument du constructeur PdfFileInfo
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

Obtenir les métadonnées XMP d’un fichier PDF en Java

Nous pouvons lire les métadonnées XMP d’un document PDF en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez un document PDF en utilisant la classe Document.
  2. Enfin, lisez les métadonnées à l’aide de la méthode get_Item() de la classe Metadata et extrayez les informations.

L’exemple de code suivant montre comment obtenir les métadonnées XMP d’un fichier PDF à l’aide de Java.

// Cet exemple de code montre comment obtenir les métadonnées XMP d'un document PDF.
// Ouvrir le document
Document pdfDocument = new Document("D:\\Files\\PDF\\SetXMPMetadata.pdf");

// Obtenir des propriétés
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

Définir les métadonnées XMP dans un fichier PDF en Java

Nous pouvons définir les métadonnées XMP dans un fichier PDF en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez un document PDF en utilisant la classe Document.
  2. Ensuite, définissez les valeurs des métadonnées à l’aide de la méthode set_Item() de la classe Metadata.
  3. Enfin, enregistrez le fichier PDF en utilisant la méthode Document.save() avec le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment définir les métadonnées XMP d’un fichier PDF à l’aide de Java.

// Cet exemple de code montre comment définir les métadonnées XMP d'un document PDF.
// Ouvrir le document
Document pdfDocument = new Document("D:\\Files\\PDF\\sample.pdf");

// Définir les propriétés
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"));

// Enregistrer le document
pdfDocument.save("D:\\Files\\PDF\\SetXMPMetadata.pdf");

Personnaliser l’espace de noms de métadonnées XMP dans un fichier PDF

Nous pouvons définir l’URI de l’espace de noms personnalisé au lieu des spécifications XMP définies dans un fichier PDF. À cette fin, l’API fournit la méthode registerNamespaceUri dans la classe Metadata. Nous pouvons créer un nouvel espace de noms de métadonnées avec un préfixe en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez un document PDF à l’aide de la classe Document.
  2. Ensuite, appelez la méthode registerNamespaceUri() avec un préfixe et un URI d’espace de noms comme arguments.
  3. Ensuite, définissez les valeurs des métadonnées à l’aide de la méthode set_Item().
  4. Enfin, enregistrez le fichier PDF en utilisant la méthode Document.Save() avec le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment définir un espace de noms de métadonnées personnalisé dans un fichier PDF à l’aide de Java.

// Cet exemple de code montre comment définir les métadonnées XMP personnalisées d'un document PDF.
// Ouvrir le document
Document pdfDocument = new Document("D:\\Files\\PDF\\sample.pdf");

// Définir des propriétés personnalisées
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"));

// Enregistrer le document
pdfDocument.save("D:\\Files\\PDF\\CustomizedXMPMetadata.pdf");

Nous pouvons lire les propriétés de métadonnées XMP personnalisées en suivant les étapes mentionnées précédemment.

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

Obtenez une licence API gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, nous avons appris à :

  • ajouter/modifier les informations de base d’un document PDF à l’aide de Java ;
  • définir/obtenir les métadonnées XMP dans un fichier PDF à l’aide de Java ;
  • définir l’URI de l’espace de noms de métadonnées personnalisées avec un préfixe.

En outre, vous pouvez en savoir plus sur Aspose.PDF pour l’API Java en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également