Afin d’extraire les pièces jointes, nous utiliserons l’API Aspose.PDF for Java qui est une API de conversion riche en fonctionnalités, puissante et facile à utiliser pour la plate-forme Java. Vous pouvez télécharger sa dernière version directement sur Maven et l’installer dans votre projet basé sur Maven en ajoutant les configurations suivantes au pom.xml.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java AP</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>version of aspose-pdf API</version>
</dependency>
Extraire les pièces jointes du PDF Java
Vous avez besoin de Aspose.PDF for Java pour essayer le code dans votre environnement.
- Obtenez la collection de fichiers intégrés.
- Obtenez le nombre de fichiers intégrés.
- Parcourez la collection pour obtenir toutes les pièces jointes.
- Vérifiez si l’objet Parameter contient les paramètres.
- Récupérez la pièce jointe et écrivez-la dans un fichier ou un flux.
Extraire la pièce jointe d'un document PDF
// Open document
Document pdfDocument = new Document(_dataDir+"input.pdf");
// Get particular embedded file
FileSpecification fileSpecification = pdfDocument.getEmbeddedFiles().get_Item(1);
// Get the file properties
System.out.printf("Name: - " + fileSpecification.getName());
System.out.printf("\nDescription: - " + fileSpecification.getDescription());
System.out.printf("\nMime Type: - " + fileSpecification.getMIMEType());
// Get attachment form PDF file
try {
InputStream input = fileSpecification.getContents();
File file = new File(fileSpecification.getName());
// Create path for file from pdf
file.getParentFile().mkdirs();
// Create and extract file from pdf
java.io.FileOutputStream output = new java.io.FileOutputStream(fileSpecification.getName(), true);
byte[] buffer = new byte[4096];
int n = 0;
while (-1 != (n = input.read(buffer)))
output.write(buffer, 0, n);
// Close InputStream object
input.close();
output.close();
} catch (IOException e) {
e.printStackTrace();
}
// Close Document object
pdfDocument.dispose();