Comment compresser des fichiers PDF en Java | IronPDF

Comment compresser des fichiers PDF en Java

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF permet aux développeurs Java de compresser les fichiers PDF en réduisant la qualité de l'image et en mettant à l'échelle la résolution, ce qui contribue à réduire la taille des fichiers pour faciliter le partage et le stockage.

Démarrage rapide : Compresser un fichier PDF en Java

```java {title="Compresser un PDF en Java"} //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/quickstart-compress.java import com.ironsoftware.ironpdf.* ; import java.nio.file.Paths ;

// Chargez votre document PDF PdfDocument pdf = PdfDocument.fromFile(Paths.get("source.pdf")) ;

// Compresser les images à une qualité de 60% pdf.compressImages(60) ;

// Enregistrer le PDF compressé pdf.saveAs(Paths.get("compressed.pdf")) ;


<div class="hsg-featured-snippet">
<h3>Flux de travail minimal (5 étapes)</h3>

1. Ajoutez IronPDF à votre Maven `pom.xml` en tant que dépendance
2. Chargez votre PDF à l'aide de `PdfDocument.fromFile()`
3. Compresser les images avec `pdf.compressImages(60)`
4. Redimensionner éventuellement la résolution de l'image avec `pdf.compressImages(90, true)`
5. Économisez le PDF compressé à l'aide de `pdf.saveAs()`
</div>

Les documents PDF sont largement utilisés pour partager et stocker des informations, mais les fichiers riches en images peuvent atteindre rapidement plusieurs dizaines de mégaoctets. Les grandes tailles de fichiers compliquent la livraison par e-mail, ralentissent les téléchargements, et augmentent les coûts de stockage. L'API de compression Java d'IronPDF aborde cela en vous permettant de réduire la qualité des images intégrées et de mettre à l'échelle la résolution en quelques lignes de code.

Cet article couvre comment compresser des fichiers PDF en Java en using IronPDF. Les exemples montrent à la fois une compression simple basée sur la qualité et une mise à l'échelle de la résolution, afin que vous puissiez adapter l'approche à vos exigences spécifiques de taille et de qualité. Si vous travaillez également avec des [PDF riches en images](https://ironpdf.com/java/how-to/java-pdf-to-image-tutorial/) ou avez besoin de gérer des [documents fusionnés](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/), la compression est une étape essentielle avant la distribution.

## Qu'est-ce que la bibliothèque Java PDF IronPDF ?

IronPDF est une [bibliothèque Java PDF](/java/) qui crée, lit, et manipule des documents PDF de manière programmée. La bibliothèque gère la [conversion HTML en PDF](https://ironpdf.com/java/tutorials/html-to-pdf/), le remplissage de formulaires, l'intégration d'images, et la compression de fichiers sans nécessiter de visionneuse PDF ou de moteur de rendu externe. Elle prend en charge divers environnements de déploiement, y compris [AWS Lambda](https://ironpdf.com/java/get-started/aws/), [Azure Functions](https://ironpdf.com/java/get-started/azure/), et [Google Cloud](https://ironpdf.com/java/get-started/google-cloud/).

La compression dans IronPDF fonctionne en redesignant les images intégrées à un niveau de qualité JPEG inférieur et, optionnellement, en réduisant leur résolution pour correspondre à la taille d'affichage dans le PDF. Le texte, les graphiques vectoriels, et la structure du document ne sont pas affectés. Cela fait d'IronPDF un choix pratique pour les documents volumineux devant être transférés rapidement par e-mail ou stockés dans des systèmes basés sur le cloud.

La bibliothèque fonctionne bien aussi avec d'autres opérations sur documents : vous pouvez compresser un PDF qui a déjà des [filigranes](https://ironpdf.com/java/how-to/custom-watermark/), des [couches de fond](https://ironpdf.com/java/how-to/background-foreground/), et des [signets](https://ironpdf.com/java/how-to/bookmarks/), et toutes ces fonctionnalités sont préservées après la compression.

Veuillez noterLa compression est plus efficace sur les PDFs contenant des images JPEG ou PNG intégrées. Les documents composés principalement de texte et de graphiques vectoriels verront une réduction de taille minimale.
## Comment configurer IronPDF dans un projet Java Maven ? Avant de compresser des PDFs, ajoutez IronPDF à la configuration Maven de votre projet. Pour les instructions de configuration complète, consultez l'[aperçu pour commencer](https://ironpdf.com/java/docs/). - Pour installer IronPDF dans un [projet Maven](/java/docs/), ajoutez le référentiel Maven `IronPDF` et la dépendance à votre fichier `pom.xml`. - Ajouter la dépendance à la section `<dependencies>` : ```xml //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/maven-dependency.xml <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>your_version_here</version> </dependency>
  • Économisez votre pom.xml et exécutez mvn install pour télécharger la dépendance IronPDF.

Une fois la dépendance résolue, vous pouvez importer et utiliser les classes IronPDF dans votre projet. La dernière version publiée de l'artefact Java IronPDF est disponible sur Maven. Pour le déploiement en production, configurez votre clé de licence avant de lancer.

Comment compresser un fichier PDF en Java ?

IronPDF compresse les fichiers PDF en ciblant les images intégrées au document. La méthode compressImages() accepte un entier de qualité compris entre 0 et 100, les valeurs les plus basses produisant des fichiers plus petits au détriment de la netteté de l'image. Un second paramètre optionnel instruit la bibliothèque pour réduire la résolution des images en fonction de la taille d'affichage dans la page du PDF.

//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
import com.ironsoftware.ironpdf.* ;
import java.io.IOException;
import java.nio.file.Paths ;

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60) ;
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
import com.ironsoftware.ironpdf.* ;
import java.io.IOException;
import java.nio.file.Paths ;

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60) ;
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
JAVA

Le code charge un PDF depuis le disque et applique la compression en deux passes pour illustrer différentes stratégies. Le premier appel compressImages(60) réduit la qualité de l'image à 60 % et économise le résultat. Le deuxième appel utilise une qualité de 90 % mais active la mise à l'échelle de la résolution, qui ajuste les dimensions des pixels de chaque image pour correspondre à sa zone visible sur la page.

La méthode compressImages() possède deux signatures :

  • compressImages(int quality) — Rééchantillonne toutes les images intégrées au niveau de qualité JPEG spécifié. Utilisez une valeur entre 40 et 80 pour une forte réduction de taille tout en gardant les images reconnaissables.
  • compressImages(int quality, boolean scaleImageResolutionToVisibleSize) — Ajoute la mise à l'échelle de la résolution. Lorsque true, la bibliothèque détecte les images rendues à une fraction de leur résolution native et les redimensionne en conséquence. Cette option offre la réduction de taille la plus agressive mais augmente légèrement le temps de traitement.

ConseilsAppliquez plusieurs passes pour affiner l'équilibre entre taille et qualité. Commencez avec un réglage modéré comme 70 %, vérifiez la taille du fichier de sortie, puis décidez si une deuxième passe à plus faible qualité est justifiée.

Effectuer une compression à 60 % sur un PDF riche en images réduit généralement la taille du fichier de 50 à 70 % en fonction des images sources. Un document avec principalement du contenu textuel verra des gains bien plus petits. Comparez les tailles de fichiers avant et après dans le répertoire de sortie pour évaluer le résultat pour vos documents spécifiques.

Pour les documents nécessitant d'autres traitements en plus de la compression, IronPDF prend en charge l'extraction de texte, l'extraction d'images et le fractionnement de fichiers PDF.

À quoi ressemble le PDF original?

Explorateur de fichiers affichant le fichier PDF d'origine de 458 Ko avant compression à l'aide d'IronPDF

Quels sont les résultats après compression ?

Explorateur de fichiers affichant un fichier PDF compressé dont la taille a été considérablement réduite après utilisation de la fonction compressImages d'IronPDF avec une qualité de 60 %

Comment choisir le bon réglage de qualité de compression ?

Choisir le bon niveau de qualité nécessite de trouver un équilibre entre la taille du fichier et la fidélité visuelle. Le bon réglage dépend du but du document et de la sensibilité de ses images intégrées.

Le tableau ci-dessous donne des recommandations pratiques pour des cas d'utilisation courants :

Guide du niveau de qualité de compression d'image IronPDF
Niveau de qualité Réduction de taille approximative Idéal pour
80–100 % 10–30 % Documents de qualité imprimés, dossiers médicaux, dossiers légaux
60–79 % 40–60 % Rapports internes, PDF pour téléchargement web, pièces jointes par email
40–59 % 60–75 % Aperçus miniatures, documents de brouillon, copies archivées
Moins de 40% 75 %+ Sortie lourdement dégradée ; généralement déconseillée pour la distribution

La mise à l'échelle de la résolution fonctionne mieux lorsque le PDF source a été assemblé à partir de photographies haute résolution ou de pages numérisées, mais que le document est destiné uniquement à l'affichage à l'écran. Dans ces cas, la mise à l'échelle de la résolution peut réduire la taille du fichier sans changement perceptible de qualité à des niveaux de zoom normaux. Pour plus de contexte sur les normes d'encodage d'images PDF, référez-vous à la documentation du format JPEG 2000 de la Bibliothèque du Congrès et à la discussion sur la compression d'images PDF sur Stack Overflow.

ImportantÉvitez de compresser les PDF contenant des signatures numériques. La modification des images intégrées change le contenu binaire du document, ce qui invalidera les signatures existantes.

Comment réduire encore la taille d'un fichier PDF au-delà de la compression d'image ?

La compression d'image traite le plus grand contributeur à la taille du fichier dans la plupart des PDF, mais des techniques supplémentaires peuvent réduire davantage la taille une fois combinées. IronPDF prend en charge plusieurs approches qui complètent compressImages() :

Supprimez les pages inutiles. La suppression de pages avant la compression réduit à la fois les données d'image et les frais généraux de la structure des pages. Utilisez les exemples de suppression de pages pour éliminer d'abord les pages blanches ou redondantes.

Supprimez les annotations. Les objets d'annotation ajoutent des données binaires au fichier. Les supprimer avec l'API de gestion des annotations avant de les enregistrer peut réduire sensiblement la taille du fichier dans les documents avec beaucoup de marques.

Traitez les documents en masse. Pour les workflows qui compressent de nombreux PDF, parcourez une liste de chemins d'accès aux fichiers et appliquez compressImages() en boucle. IronPDF traite chaque document indépendamment, le traitement par lots ne nécessite donc aucune configuration particulière — consultez l'exemple de compression de PDF pour vous lancer.

Pour une discussion plus large sur les stratégies d'optimisation PDF, la spécification du format de fichier PDF à la Bibliothèque du Congrès documente les éléments structurels qui contribuent à la taille du fichier et comment ils peuvent être réduits.

Quelles sont les prochaines étapes pour compresser des PDF en Java ?

La méthode IronPDF de compressImages() offre un moyen pratique de réduire la taille des fichiers PDF dans les applications Java. Un seul appel de méthode avec un entier de qualité couvre la plupart des cas d'utilisation, et le paramètre facultatif de mise à l'échelle de la résolution gère les fichiers sources lourds en images qui nécessitent la réduction la plus agressive.

Commencez par un essai gratuit pour tester la compression sur vos propres documents :

Prêt à découvrir tout ce que IronPDF peut faire d'autre ? Consultez la bibliothèque complète de tutoriels Java PDF ici : Guides d'utilisation de IronPDF Java

Questions Fréquemment Posées

Qu'est-ce que la compression PDF et pourquoi est-elle importante ?

La compression PDF réduit la taille du fichier en rééchantillonnant les images intégrées et en ajustant éventuellement leur résolution d'affichage. Les fichiers plus petits sont plus faciles à envoyer par e-mail, à télécharger et à stocker — la méthode compressImages() d'IronPDF gère cela dans les applications Java avec un seul appel de méthode.

Comment compresser rapidement un fichier PDF en Java ?

Chargez votre PDF avec PdfDocument.fromFile(), appelez compressImages(60) pour réduire la qualité de l'image à 60%, puis enregistrez le résultat avec saveAs(). Ces trois lignes gèrent le flux de compression de base.

Quel niveau de qualité de compression dois-je utiliser pour mes PDF ?

Une valeur de 60-70% fournit un bon équilibre entre la taille du fichier et la qualité visuelle pour la plupart des documents. Utilisez 80-100% pour des impressions de qualité ou des enregistrements légaux, et 40-59% uniquement pour des brouillons ou des miniatures où la fidélité de l'image n'est pas critique.

Puis-je compresser des PDF contenant plusieurs documents fusionnés ?

Oui. IronPDF compresse tout PDF, peu importe comment il a été assemblé. La méthode compressImages() cible toutes les images intégrées dans le document, qu'elles proviennent d'une source unique ou de plusieurs fichiers fusionnés.

La compression affecte-t-elle d'autres caractéristiques des PDF, comme les filigranes ou les formulaires ?

Non — la compression d'IronPDF cible uniquement les images raster intégrées. Le texte, les graphiques vectoriels, les filigranes, les arrière-plans, les signets et les champs de formulaire sont préservés dans le document de sortie.

Quels environnements de déploiement prennent en charge la compression PDF avec IronPDF ?

IronPDF prend en charge la compression PDF sur AWS Lambda, Azure Functions, Google Cloud, et les déploiements de serveurs standard. Aucun moteur de rendu externe ou visionneuse PDF n'est requis dans aucun de ces environnements.

Que fait le paramètre scaleImageResolutionToVisibleSize ?

Lorsqu'il est défini sur true, IronPDF détecte les images rendues à une fraction de leur résolution native et réduit leurs dimensions en pixels pour correspondre à la taille d'affichage visible. Cela réduit la taille du fichier plus que la seule réduction de qualité, mais augmente légèrement le temps de traitement.

La compression d'un PDF invalidera-t-elle ses signatures numériques ?

Oui. La modification des images intégrées change le contenu binaire du document, ce qui rompt les signatures numériques existantes. Compressez les fichiers PDF avant d'appliquer les signatures, pas après.

Darrius Serrant
Ingénieur logiciel Full Stack (WebOps)

Darrius Serrant est titulaire d'un baccalauréat en informatique de l'université de Miami et travaille comme ingénieur marketing WebOps Full Stack chez Iron Software. Attiré par le codage dès son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le ...

Lire la suite
Prêt à commencer?
Version : 2026.5 just released
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ?
exécuter un échantillon Regardez votre code HTML se transformer en PDF.