Différentes organisations utilisent des fichiers PDF pour un échange d’informations sécurisé et organisé. Cependant, les fichiers PDF deviennent parfois volumineux en raison de contenus intégrés tels que des images, des vidéos, des dessins, etc. Vous pouvez facilement optimiser ou compresser une telle taille de fichier PDF sans aucun compromis sur la qualité. Laissez-nous explorer les scénarios suivants de compression et d’optimisation de la taille des PDF que vous pouvez intégrer dans vos applications Java :

API d’optimisation et de compression de la taille des PDF - Installation

Vous pouvez utiliser les routines efficaces et fiables de l’API Aspose.PDF for Java pour optimiser ou compresser des fichiers PDF de grande taille tout en conservant la même qualité. Vous pouvez télécharger les fichiers JAR à partir de Téléchargements ou avec Configurations Maven dans votre projet.

Optimiser les documents PDF pour le Web à l’aide de Java

Le document PDF peut être optimisé lorsque vous avez besoin de les utiliser dans vos pages Web. Cette optimisation est utile pour afficher la première page du document PDF le plus rapidement possible. Vous pouvez avoir le fichier PDF optimisé en suivant les étapes ci-dessous :

  1. Fichier PDF open source
  2. Appelez optimize method pour l’optimisation PDF
  3. Enregistrez le fichier PDF de sortie

L’extrait de code ci-dessous est un exemple d’optimisation de documents PDF pour le Web dans votre environnement Java :

// Ouvrir le document
Document pdfDocument = new Document("Original.pdf");

// Optimiser pour le Web
pdfDocument.optimize();

// Enregistrer le document de sortie
pdfDocument.save("Optimized_output.pdf");

Compresser ou optimiser la taille des PDF contenant des images à l’aide de Java

Ici, nous discuterons principalement des scénarios dans lesquels les fichiers PDF contiennent beaucoup d’images et sont donc de taille énorme. Par exemple, un fichier PDF contenant le dessin de différents modèles d’avions et des informations sur chaque pièce, mineure ou majeure, inclus sous forme d’images ou d’images de tous les composants. De plus, de nombreux documents professionnels peuvent contenir des images en tant qu’artefacts majeurs du fichier. Dans de tels scénarios, nous pouvons compresser les fichiers PDF avec les approches suivantes :

Réduction, compression et redimensionnement de toutes les images à l’aide de Java

Vous pouvez minimiser la taille du fichier PDF contenant de nombreuses images en réduisant, en compressant et en redimensionnant les images. Les améliorations de taille pourraient être perceptibles car la majeure partie de la taille du fichier est couverte par les images que nous avons maintenant l’intention de réduire. Vous devez suivre les étapes ci-dessous pour réduire, compresser et redimensionner les images ou les images dans un fichier PDF :

  1. Charger le fichier PDF d’entrée
  2. Initialiser l’objet OptimizationOptions
  3. Définir la qualité et la résolution de l’image
  4. Appelez la méthode optimizeResources
  5. Enregistrer le document PDF de sortie

L’extrait de code ci-dessous montre comment réduire ou compresser des images afin de réduire et de minimiser la taille du fichier PDF à l’aide de Java :

// Charger le document d'entrée
Document doc = new Document(dataDir + "Test.pdf");

// Initialiser l'objet OptimizationOptions
OptimizationOptions opt = new OptimizationOptions();

// Activer la compression des images
// Définir la qualité et la résolution des images dans le fichier PDF
opt.getImageCompressionOptions().setCompressImages(true);
opt.getImageCompressionOptions().setImageQuality(10);
opt.getImageCompressionOptions().setMaxResolution(150);
opt.getImageCompressionOptions().setResizeImages(true);
doc.optimizeResources(opt);

// Enregistrer le fichier mis à jour
doc.save(dataDir + "compressingPDFWithImages_out.pdf");

Suppression des polices intégrées, des flux inutilisés et de la liaison de flux en double à l’aide de Java

Lorsque vous devez réduire la taille du fichier PDF, chaque octet compte. Les polices intégrées peuvent aider à réduire la taille du fichier avec différentes approches. Par exemple, vous pouvez désintégrer toutes les polices ou conserver uniquement le sous-ensemble de caractères de police utilisés dans le fichier PDF. Ce serait une désintégration partielle des polices qui aiderait toujours à minimiser la taille du fichier. De plus, vous pouvez supprimer les flux inutilisés ou lier des flux en double pour économiser davantage d’espace. Ces optimisations PDF réduiront considérablement la taille du fichier. Vous devez suivre les étapes suivantes pour optimiser et réduire la taille du fichier PDF :

  1. Charger le document PDF d’entrée
  2. Initialiser l’objet de classe OptimizationOptions
  3. Désimbriquer toutes les polices ou le sous-ensemble de polices
  4. Lier les flux en double
  5. Supprimer les flux inutilisés

Le code suivant explique comment compresser des fichiers PDF pour optimiser, réduire et minimiser la taille des documents PDF :

Document doc = new Document(dataDir + "Test.pdf");
OptimizationOptions opt = new OptimizationOptions();

// Soit
// Désintégrer toutes les polices dans le PDF
opt.setUnembedFonts(true);

//OU
// conserver uniquement les polices intégrées pour les caractères utilisés
opt.setSubsetFonts(true);

// lier des flux en double
opt.setLinkDuplcateStreams(false);

// Supprimer les flux inutilisés
opt.setRemoveUnusedStreams(false);

// Supprimer les objets inutilisés
opt.setRemoveUnusedObjects(false);

doc.optimizeResources(opt);

// Enregistrer le fichier mis à jour
doc.save(dataDir + "compressingPDF.pdf");

Jusqu’à présent, nous avons principalement discuté des approches d’optimisation pour les fichiers PDF contenant des images. Passons maintenant à d’autres méthodes d’optimisation PDF.

Compresser ou réduire la taille du document PDF à l’aide de Java

Les fichiers PDF contiennent souvent des annotations, des champs de formulaire modifiables et des artefacts de couleur qui occupent collectivement de l’espace. Explorons les procédures suivantes pour compresser la taille du fichier PDF.

Suppression ou aplatissement des annotations pour réduire la taille avec Java

Les fichiers PDF peuvent contenir de nombreuses annotations. Par exemple, un filigrane, des commentaires, des formes, etc. Vous pouvez supprimer des annotations si elles ne sont plus nécessaires ou agrandir les annotations si aucune autre modification n’est nécessaire. Veuillez suivre les étapes ci-dessous pour supprimer ou aplatir les annotations afin d’optimiser la taille du fichier PDF :

  1. Document PDF open source
  2. Parcourez chaque page
  3. Aplatir ou supprimer annotations
  4. Enregistrer le document PDF de sortie

L’extrait de code ci-dessous est un exemple de suppression ou d’aplatissement d’annotations dans des documents PDF à l’aide de Java :

// Ouvrir le document
Document pdfDocument = new Document(dataDir + "OptimizeDocument.pdf");

// Parcourez chaque page et chaque annotation
for (Page page : pdfDocument.getPages())
{
    for (Annotation annotation : page.getAnnotations())
    {
        // Soit aplatir l'annotation
        annotation.flatten();
        
        // OU supprimer l'annotation
        // page.getAnnotations().delete(annotation);        
    }
}
// Enregistrer le document PDF optimisé
pdfDocument.save(dataDir + "OptimizeDocument_out.pdf");

Suppression de champs de formulaire pour réduire la taille du fichier PDF avec Java

Les formulaires PDF à remplir sont courants lorsque vous avez besoin de soumettre des données à grande échelle. Après la soumission des données, les champs de formulaire à remplir peuvent être supprimés pour optimiser et minimiser la taille du fichier PDF. Vous devez suivre les étapes ci-dessous pour supprimer les champs de formulaire :

  1. Charger le document PDF d’entrée
  2. Vérifier les champs de formulaire dans le document PDF
  3. Parcourez chaque champ et aplatissez-le
  4. Enregistrez le fichier PDF compressé mis à jour
// Charger le formulaire PDF source
Document doc = new Document(dataDir + "input.pdf");

// Aplatir les champs du formulaire
if (doc.getForm().getFields().length > 0)
{
    for (Field item : doc.getForm().getFields())
    {
        item.flatten();
    }
}

dataDir = dataDir + "FlattenForms_out.pdf";
// Enregistrer le document mis à jour
doc.save(dataDir);

Convertir l’espace colorimétrique RVB en niveaux de gris pour la compression et l’optimisation PDF à l’aide de Java

La plupart des fichiers PDF contiennent du contenu textuel qui peut également être bien représenté dans l’espace colorimétrique en niveaux de gris. De plus, lorsque le but et la priorité sont de sauvegarder chaque octet, même les images peuvent être converties en niveaux de gris car l’accent est mis sur l’archivage des données. Vous pouvez suivre les étapes ci-dessous pour compresser et optimiser la taille du fichier PDF en convertissant l’espace colorimétrique RVB en niveaux de gris :

  1. Accéder au document PDF source
  2. Initialiser l’instance RgbToDeviceGrayConversionStrategy
  3. Convertir l’espace colorimétrique de chaque couleur en niveaux de gris
  4. Enregistrer le fichier PDF optimisé pour la sortie

L’extrait de code suivant montre comment compresser et optimiser la taille du PDF en modifiant l’espace colorimétrique dans l’environnement Java :

// Charger le document PDF d'entrée
Document document = new Document("input.pdf");

// Initialiser l'instance RgbToDeviceGrayConversionStrategy
RgbToDeviceGrayConversionStrategy strategy = new RgbToDeviceGrayConversionStrategy();
for (int idxPage = 1; idxPage <= document.getPages().size(); idxPage++) {
	Page page = document.getPages().get_Item(idxPage);
        
        // Convertir l'espace colorimétrique de chaque page en niveaux de gris
	strategy.convert(page);
}
// Enregistrer le document PDF de sortie
document.save("output.pdf");

Conclusion

Dans cet article, nous avons couvert différentes manières et approches pour optimiser et compresser les fichiers PDF pour une taille réduite. Tout d’abord, nous avons optimisé la taille des fichiers PDF pour le Web à l’aide de Java. Ensuite, nous avons appris à réduire, compresser et redimensionner des images dans un fichier PDF contenant plusieurs images. De plus, nous avons également exploré le travail avec les polices, les flux, les annotations, les champs de formulaire ainsi que la conversion de l’espace colorimétrique du document PDF en niveaux de gris afin qu’un fichier PDF de taille inférieure mais de qualité identique puisse être créé à l’aide de Java. De plus, en cas de question relative à ce sujet, vous pouvez nous contacter via Free Support Forum.

Voir également

Info : À l’aide d’une nouvelle application Web en ligne d’Aspose, vous pouvez transformer un ensemble d’images en vidéo. Vous pouvez également consulter un autre service, celui qui extrait les sons des vidéos.