Extraire et Enregistrer une Pièce Jointe
Obtenir les Pièces Jointes d’un Document PDF
Avec Aspose.PDF, il est possible d’obtenir toutes les pièces jointes d’un document PDF. Ceci est utile soit lorsque vous souhaitez enregistrer les documents séparément du PDF, soit si vous avez besoin de retirer les pièces jointes d’un PDF.
Les extraits de code suivants montrent comment obtenir toutes les pièces jointes d’un document PDF.
public static void GetAttachmentsFromPDFDocument() {
// Ouvrir le document
Document pdfDocument = new Document(_dataDir+"input.pdf");
// Obtenir un fichier intégré particulier
FileSpecification fileSpecification = pdfDocument.getEmbeddedFiles().get_Item(1);
// Obtenir les propriétés du fichier
System.out.printf("Nom : - " + fileSpecification.getName());
System.out.printf("\nDescription : - " + fileSpecification.getDescription());
System.out.printf("\nType MIME : - " + fileSpecification.getMIMEType());
// Obtenir la pièce jointe du fichier PDF
try {
InputStream input = fileSpecification.getContents();
File file = new File(fileSpecification.getName());
// Créer le chemin pour le fichier depuis le pdf
file.getParentFile().mkdirs();
// Créer et extraire le fichier depuis le 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);
// Fermer l'objet InputStream
input.close();
output.close();
} catch (IOException e) {
e.printStackTrace();
}
// Fermer l'objet Document
pdfDocument.dispose();
}
Obtenir des informations sur la pièce jointe
Comme mentionné dans Obtenir des pièces jointes à partir d’un document PDF, les informations sur la pièce jointe sont contenues dans l’objet FileSpecification, rassemblées avec d’autres pièces jointes dans la collection EmbeddedFiles de l’objet Document.
L’objet FileSpecification fournit des méthodes qui obtiennent des informations sur la pièce jointe, par exemple :
- getName() – obtient le nom du fichier.
- getDescription() – obtient la description du fichier.
- getMIMEType() – obtient le type MIME du fichier.
- getParams() – informations sur les paramètres du fichier, par exemple CheckSum, CreationDate, ModDate et Size.
Pour obtenir ces paramètres, assurez-vous d’abord que la méthode getParams() ne renvoie pas null.
Soit en parcourant toutes les pièces jointes dans la collection EmbeddedFiles en utilisant une boucle for, soit en obtenant une pièce jointe individuelle en spécifiant sa valeur d’index. The following code snippet shows how to get information about a specific attachment.
public static void GetAttachmentInformation() {
// Ouvrir le document
Document pdfDocument = new Document(_dataDir+"input.pdf");
// Obtenir un fichier intégré particulier
FileSpecification fileSpecification = pdfDocument.getEmbeddedFiles().get_Item(1);
// Obtenir les propriétés du fichier
System.out.println("Nom:-" + fileSpecification.getName());
System.out.println("Description:- " + fileSpecification.getDescription());
System.out.println("Type MIME:-" + fileSpecification.getMIMEType());
// Vérifier si l'objet paramètre contient les paramètres
if (fileSpecification.getParams() != null) {
System.out.println("Somme de contrôle:- " + fileSpecification.getParams().getCheckSum());
System.out.println("Date de création:- " + fileSpecification.getParams().getCreationDate());
System.out.println("Date de modification:- " + fileSpecification.getParams().getModDate());
System.out.println("Taille:- " + fileSpecification.getParams().getSize());
}