Comment compresser des PDFs en C#

How to Compress PDFs

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

La compression de PDF fait référence au processus de réduction de la taille de fichier d'un document PDF (Portable Document Format). Cette compression est appliquée pour rendre le fichier PDF plus facile à gérer pour le stockage, le partage et la transmission, surtout lorsqu'il s'agit de documents volumineux ou riches en images.

Les images occupent généralement une partie significative des tailles de fichiers PDF car elles sont généralement plus grandes par rapport au texte et aux autres contenus. IronPdf offre des fonctionnalités de compression de PDF qui compressent les images intégrées et réduisent la structure en arbre qui accompagne souvent les données de tableau dans les PDF.

Démarrage rapide : Compresser des fichiers PDF avec IronPDF

Réduisez facilement la taille de vos fichiers PDF en utilisant les puissants outils de compression d'IronPDF. Commencez par charger votre PDF avec PdfDocument.FromFile, appliquez la compression avec la méthode Compress en utilisant les options par défaut, et enregistrez votre PDF optimisé. Ce processus rapide et facile assure une réduction significative de la taille de fichier tout en maintenant la qualité, parfait pour les développeurs cherchant une gestion efficace des documents en .NET C#.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    PdfDocument.FromFile("input.pdf").CompressImages(40).SaveAs("compressed.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Flux de travail minimal (5 étapes)

  1. Téléchargez la bibliothèque C# pour la compression de PDF depuis NuGet
  2. Importez un PDF existant ou générez un nouveau PDF
  3. Utilisez la méthode CompressImages pour réduire la taille des images dans le PDF
  4. Utilisez la méthode CompressStructTree pour minimiser la structure en arbre du PDF
  5. Exportez le document PDF compressé


Exemple de compression d'images

La manière dont fonctionne le redimensionnement des JPEGs, 100% de qualité a presque aucune perte, et 1% donne une image de très mauvaise qualité.

  • 90% et plus : considéré comme de haute qualité
  • 80%-90% : considéré comme de qualité moyenne
  • 70%-80% : considéré comme de faible qualité

N'hésitez pas à explorer diverses valeurs pour comprendre le compromis entre la qualité et la taille du fichier. Il est important de noter que la réduction de qualité variera en fonction du type d'image d'entrée, et certaines images peuvent présenter une réduction de clarté plus notable que d'autres.

:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-image.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Compress images in the PDF
pdf.CompressImages(40);

pdf.SaveAs("compressed.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

' Compress images in the PDF
pdf.CompressImages(40)

pdf.SaveAs("compressed.pdf")
$vbLabelText   $csharpLabel

Compression d'images - Comparaison de taille

Réduit de 39.24% !!

class="content-img-align-center">
class="center-image-wrapper"> Compresser des images - comparaison de taille

Comprendre les options de compression d'images

Plongeons dans les détails de nos options de compression d'images :

ShrinkImage : Cette fonctionnalité réduit la résolution de l'image en fonction de sa taille visible dans le document PDF. En faisant cela, elle réduit considérablement la taille et la qualité des images, les optimisant pour un stockage et une transmission efficaces.

HighQualitySubsampling : Ce paramètre détermine la méthode de sous-échantillonnage de chroma utilisée pour la compression des images. Sélectionner "True" utilise le sous-échantillonnage de chroma 4:4:4, garantissant une image de haute qualité avec tous les détails de couleur. Inversement, choisir "False" emploie le sous-échantillonnage de chroma 4:1:1, qui sacrifie certains détails de couleur pour réduire davantage la taille de l'image.

Le sous-échantillonnage de chroma est une technique cruciale en compression d'image numérique, visant à réduire les données nécessaires pour représenter une image tout en préservant sa qualité visuelle. Cela est réalisé en réduisant sélectivement la résolution des informations de couleur (chrominance) tout en maintenant la résolution complète des informations de luminosité (luminance).

Dans le sous-échantillonnage de chroma "4:4:4", chaque pixel conserve ses propres informations de couleur, résultant en aucune perte de détail de couleur. Inversement, dans le sous-échantillonnage de chroma "4:1:1", les informations de couleur sont sous-échantillonnées à une résolution inférieure, réduisant les détails de couleur mais aussi la taille du fichier.


Exemple de compression de structure en arbre

Cette fonctionnalité est utilisée pour réduire la taille du PDF en minimisant la structure en arbre créée par le moteur Chrome. Elle fonctionne bien avec les PDF générés par le moteur Chrome à partir de HTML contenant des données de tableau étendues. Certains moteurs de rendu PDF peuvent produire des PDF sans cette structure en arbre, rendant la fonctionnalité inefficace.

L'inconvénient de supprimer toute cette structure en arbre est que pour certains PDFs, la sélection de texte ou l'extraction peut ne pas fonctionner aussi efficacement.

Let's use the PDF with table data to test the CompressStructTree method.

:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-tree-structure.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("table.pdf");

// Compress tree structure in PDF
pdf.CompressStructTree();

pdf.SaveAs("compressedTable.pdf");
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("table.pdf")

' Compress tree structure in PDF
pdf.CompressStructTree()

pdf.SaveAs("compressedTable.pdf")
$vbLabelText   $csharpLabel

Compression de structure en arbre - Comparaison de taille

Réduit de 67.90% !! Ce pourcentage augmente avec les PDFs de table plus volumineux.

class="content-img-align-center">
class="center-image-wrapper"> Compression de structure en arbre - comparaison de taille

Méthodes de compression avancées

IronPdf a également une méthode Compress qui peut être utilisée pour configurer à la fois la compression d'image et la compression de structure en arbre, rendant la compression de documents plus facile que jamais.

:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-compress.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

CompressionOptions compressionOptions = new CompressionOptions();

// Configure image compression
compressionOptions.CompressImages = true;
compressionOptions.JpegQuality = 80;
compressionOptions.HighQualityImageSubsampling = true;
compressionOptions.ShrinkImages = true;

// Configure tree structure compression
compressionOptions.RemoveStructureTree = true;

pdf.Compress(compressionOptions);

pdf.SaveAs("compressed.pdf");
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

Private compressionOptions As New CompressionOptions()

' Configure image compression
compressionOptions.CompressImages = True
compressionOptions.JpegQuality = 80
compressionOptions.HighQualityImageSubsampling = True
compressionOptions.ShrinkImages = True

' Configure tree structure compression
compressionOptions.RemoveStructureTree = True

pdf.Compress(compressionOptions)

pdf.SaveAs("compressed.pdf")
$vbLabelText   $csharpLabel

Explorez les options disponibles

  • CompressImages : Contrôle si les images existantes dans le document sont compressées en utilisant le codage JPG. La valeur par défaut est false.
  • RemoveStructureTree : Supprimer l'arborescence de structure peut réduire considérablement l'espace disque utilisé par le document. Cependant, cela peut avoir un impact négatif sur la sélection de texte, en particulier dans les documents compliqués.
  • JpegQuality : Spécifie la qualité JPEG (allant de 1 à 100) à utiliser lors de la compression des images. La valeur par défaut est 42.
  • HighQualityImageSubsampling : Cette propriété détermine s'il faut utiliser le sous-échantillonnage de chroma 4:4:4 pour une meilleure qualité d'image (true) ou le sous-échantillonnage 4:1:1 pour réduire davantage la taille de l'image (false).
  • ShrinkImages : Réduire la résolution des images peut drastiquement réduire la taille et la qualité des images dans le document.

Prêt à voir ce que vous pouvez faire d'autre ? Consultez notre page de tutoriels ici : Fonctionnalités supplémentaires

Questions Fréquemment Posées

Comment puis-je compresser les images PDF en .NET C#?

Vous pouvez utiliser IronPDF pour compresser les images PDF en .NET C#. La bibliothèque fournit une méthode appelée CompressImages, qui vous permet d'ajuster la qualité JPEG et de choisir entre différentes options de sous-échantillonnage chromatique pour réduire efficacement la taille des images.

Quel est l'avantage d'utiliser une bibliothèque .NET pour la compression PDF?

Utiliser une bibliothèque .NET comme IronPDF pour la compression PDF vous permet d'intégrer la réduction de la taille des PDF directement dans vos applications C#, améliorant ainsi la gestion des documents en réduisant la taille des fichiers pour un stockage et un partage facilités.

Comment puis-je réduire la taille des PDF avec de nombreuses données de tableau?

Pour réduire la taille des PDF avec de nombreuses données de tableau, vous pouvez utiliser la méthode CompressStructTree d'IronPDF. Cette méthode minimise la structure d'arbre du PDF, réduisant significativement la taille du fichier tout en maintenant l'intégrité du document.

Quelles options sont disponibles pour l'ajustement de la qualité d'image dans la compression PDF?

IronPDF fournit des options pour ajuster la qualité d'image lors de la compression, comme le paramètre JpegQuality, qui varie de 1 à 100. Des valeurs plus élevées conservent plus de détails d'image, tandis que des valeurs plus faibles augmentent la compression.

Puis-je contrôler le sous-échantillonnage chromatique lors de la compression d'images PDF?

Oui, IronPDF vous permet de contrôler le sous-échantillonnage chromatique lors de la compression d'images PDF avec le paramètre HighQualitySubsampling. Cela vous permet de choisir entre une qualité d'image supérieure (4:4:4) ou une plus grande réduction de taille (4:1:1).

Quels sont les inconvénients potentiels de la suppression de la structure d'arbre dans les PDF?

Bien que la suppression de la structure d'arbre dans les PDF à l'aide des fonctionnalités de compression d'IronPDF puisse réduire significativement la taille du fichier, cela peut affecter la sélection et l'extraction de texte dans des documents complexes, il est donc important de prendre en compte cette contrepartie.

Comment configurer à la fois la compression de l'image et de la structure d'arbre dans les PDF?

IronPDF propose une méthode Compress qui vous permet de configurer à la fois la compression de l'image et de la structure d'arbre dans les PDF. Cette méthode offre la flexibilité nécessaire pour ajuster les paramètres afin d'atteindre l'équilibre souhaité entre qualité et taille de fichier.

Quelles étapes dois-je suivre pour commencer à compresser des PDF en .NET C#?

Pour commencer à compresser des PDF en .NET C#, téléchargez la bibliothèque IronPDF depuis NuGet, importez un PDF existant ou en créez-en un nouveau, et utilisez des méthodes comme CompressImages et CompressStructTree pour réduire efficacement la taille du fichier.

IronPDF est-il entièrement compatible avec .NET 10 lors de la compression de fichiers PDF ?

Oui, IronPDF est entièrement compatible avec .NET 10. Vous pouvez l'utiliser dans vos projets .NET 10 pour compresser des PDF avec les mêmes méthodes, telles que CompressImages , CompressStructTree ou la méthode Compress avec CompressionOptions , pour des résultats et des performances homogènes. Il prend en charge .NET 10 parmi ses versions d'exécution compatibles. ([ironpdf.com](https://ironpdf.com/?utm_source=openai))

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Revu par
Jeff Fritz
Jeffrey T. Fritz
Responsable principal du programme - Équipe de la communauté .NET
Jeff est également responsable principal du programme pour les équipes .NET et Visual Studio. Il est le producteur exécutif de la série de conférences virtuelles .NET Conf et anime 'Fritz and Friends', une diffusion en direct pour développeurs qui est diffusée deux fois par semaine où il parle de technologie et écrit du code avec les téléspectateurs. Jeff écrit des ateliers, des présentations et prévoit du contenu pour les plus grands événements de développement Microsoft, y compris Microsoft Build, Microsoft Ignite, .NET Conf et le sommet Microsoft MVP
Prêt à commencer?
Nuget Téléchargements 16,154,058 | Version : 2025.11 vient de sortir