Désactiver la Compression des Fichiers lors de l'Ajout comme Ressources Incorporées
La classe FileSpecification permet aux développeurs d’ajouter des pièces jointes aux documents PDF. Par défaut, les pièces jointes sont compressées. Nous avons mis à jour l’API pour permettre aux développeurs de désactiver la compression lors de l’ajout de fichiers en tant que ressources incorporées. Cela donne aux développeurs plus de contrôle sur la façon dont les fichiers sont traités.
Pour permettre aux développeurs de contrôler la compression des fichiers, la méthode setEncoding(..) a été ajoutée à la classe FileSpecification. Cette propriété détermine quel encodage sera utilisé pour la compression de fichiers. La méthode accepte une valeur de l’énumérateur FileEncoding. Les valeurs possibles sont FileEncoding.None et FileEncoding.Zip.
Si l’encodage est défini sur FileEncoding.None, alors la pièce jointe n’est pas compressée. L’encodage par défaut est FileEncoding.Zip.
Le fragment de code suivant montre comment ajouter une pièce jointe à un document PDF.
public static void DisableFilesCompressionWhenAddingAsEmbeddedResources() throws IOException{
// obtenir la référence du fichier source/entrée
java.nio.file.Path path = java.nio.file.Paths.get(_dataDir+"input.pdf");
// lire tout le contenu du fichier source dans un tableau ByteArray
byte[] data = java.nio.file.Files.readAllBytes(path);
// créer une instance de l'objet Stream à partir du contenu ByteArray
InputStream is = new ByteArrayInputStream(data);
// Instancier un objet Document à partir de l'instance de stream
Document pdfDocument = new Document(is);
// configurer un nouveau fichier à ajouter en tant que pièce jointe
FileSpecification fileSpecification = new FileSpecification("test.txt", "Fichier texte exemple");
// Spécifier le paramètre de la propriété Encoding en le définissant sur FileEncoding.None
fileSpecification.setEncoding(FileEncoding.None);
// ajouter la pièce jointe à la collection de pièces jointes du document
pdfDocument.getEmbeddedFiles().add(fileSpecification);
// enregistrer la nouvelle sortie
pdfDocument.save("output.pdf");
}