Le code pour compresser PDF en C#

Bibliothèque .NET hautes performances pour optimiser le contenu et la taille de PDF en conservant la qualité d'origine et les données de base

Il s'agit d'une solution professionnelle pour compresser PDF en utilisant C#, F#, VB.NET. Utilisez notre API d'optimisation PDF pour développer des logiciels de haut niveau indépendants de la plate-forme pour les plates-formes .NET et .NET Core. Essayez-le en ligne gratuitement!

Afficher l'extrait de code

Compresser PDF en C#

Cette C# bibliothèque offre aux développeurs la possibilité de compresser rapidement et efficacement des PDF documents par programmation. Obtenez facilement une sortie PDF optimisée prête pour l'impression, l'archivage ou le partage sur le réseau. Il s'agit d'une solution autonome de traitement de PDF documents pour C# qui ne nécessite l'installation d'aucun logiciel tiers.

Réduire la taille d'un PDF en utilisant C#

Notre produit fournit aux C# développeurs une API intégrée pour réduire la taille des PDF fichiers. La compression PDF est effectuée en deux passes. Lors du premier passage, toutes les pages du PDF sont converties au format image. Notre produit utilise des algorithmes de compression d'image adaptatifs et hautement efficaces qui permettent aux développeurs d'obtenir une sortie PDF compacte tout en maintenant la qualité optimale du document. Au passage suivant, la séquence d'images est compressée et combinée pour former le contenu d'un nouveau PDF fichier optimisé.

Compression PDF simplifiée avec 'Aspose.Words for .NET'. L'exemple suivant montre comment réduire la taille d'un PDF fichier en C#:

Exemple de code dans C# pour compresser PDF fichiers
Téléchargez un fichier que vous souhaitez optimiser/compresser
Exécuter le code
Sélectionnez le format cible dans la liste
50%
dotnet add package Aspose.Words
Copie
using Aspose.Words;
using Aspose.Words.Pdf2Word.FixedFormats;

using var pdfStream = File.OpenRead("Input.pdf");

var renderer = new PdfFixedRenderer();
var pdfReadOptions = new PdfFixedOptions
{
    ImageFormat = FixedImageFormat.Jpeg,
    JpegQuality = 50
};

const double maxPageDimension = 1584;
var pagesStream = renderer.SavePdfAsImages(pdfStream, pdfReadOptions);

var builder = new DocumentBuilder();
for (var i = 0; i < pagesStream.Count; ++i)
{
    // Définit la taille de page maximale pour éviter la mise à l'échelle de l'image de la page actuelle.
    var pageSetup = builder.PageSetup;
    SetPageSize(pageSetup, maxPageDimension, maxPageDimension);

    var pageImage = builder.InsertImage(pagesStream[i]);

    SetPageSize(pageSetup, pageImage.Width, pageImage.Height);
    pageSetup.TopMargin = 0;
    pageSetup.LeftMargin = 0;
    pageSetup.BottomMargin = 0;
    pageSetup.RightMargin = 0;

    if (i != pagesStream.Count - 1)
        builder.InsertBreak(BreakType.SectionBreakNewPage);
}

var saveOptions = new PdfSaveOptions
{
    CacheBackgroundGraphics = true
};

builder.Document.Save("Output.pdf", saveOptions);

private void SetPageSize(PageSetup pageSetup, double width, double height)
{
    pageSetup.PageWidth = width;
    pageSetup.PageHeight = height;
}
using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // C'est au développeur de choisir la bibliothèque pour la compression d'image. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Compresser l'image et la remettre dans la forme. shape.ImageData.SetImage("yourCompressedImage"); } } var saveOptions = new PdfSaveOptions { CacheBackgroundGraphics = true }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // C'est au développeur de choisir la bibliothèque pour la compression d'image. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // Compressez l'image et remettez-la à la forme. shape.ImageData.SetImage("yourCompressedImage"); } } doc.Save("Output.pdf"); using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // C'est au développeur de choisir la bibliothèque pour la compression d'image. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Compresser l'image et la remettre dans la forme. shape.ImageData.SetImage("yourCompressedImage"); } } var saveOptions = new OoxmlSaveOptions { CompressionLevel = CompressionLevel.Maximum }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; var doc = new Document(); var builder = new DocumentBuilder(doc); var shape = builder.InsertImage("Input.pdf"); var saveOptions = new ImageSaveOptions(SaveFormat.Pdf) { }; shape.GetShapeRenderer().Save("Output.pdf", saveOptions); using Aspose.Words; using Aspose.Words.Pdf2Word.FixedFormats; using var pdfStream = File.OpenRead("Input.pdf"); var renderer = new PdfFixedRenderer(); var pdfReadOptions = new PdfFixedOptions { ImageFormat = FixedImageFormat.Jpeg, JpegQuality = 50 }; const double maxPageDimension = 1584; var pagesStream = renderer.SavePdfAsImages(pdfStream, pdfReadOptions); var builder = new DocumentBuilder(); for (var i = 0; i < pagesStream.Count; ++i) { // Définit la taille de page maximale pour éviter la mise à l'échelle de l'image de la page actuelle. var pageSetup = builder.PageSetup; SetPageSize(pageSetup, maxPageDimension, maxPageDimension); var pageImage = builder.InsertImage(pagesStream[i]); SetPageSize(pageSetup, pageImage.Width, pageImage.Height); pageSetup.TopMargin = 0; pageSetup.LeftMargin = 0; pageSetup.BottomMargin = 0; pageSetup.RightMargin = 0; if (i != pagesStream.Count - 1) builder.InsertBreak(BreakType.SectionBreakNewPage); } var saveOptions = new PdfSaveOptions { CacheBackgroundGraphics = true }; builder.Document.Save("Output.pdf", saveOptions); private void SetPageSize(PageSetup pageSetup, double width, double height) { pageSetup.PageWidth = width; pageSetup.PageHeight = height; }
Exécuter le code

Comment compresser PDF en C#

  1. Installez Aspose.Words for .NET.
  2. Ajoutez une référence de bibliothèque (importez la bibliothèque) à votre projet C#.
  3. Ouvrez le fichier source PDF dans C#.
  4. Compressez PDF sans perte de qualité.
  5. Appelez la méthode Document.Cleanup(). Le code résultant peut varier en fonction du format du fichier de sortie.
  6. Obtenez le résultat compressé sous forme de PDF fichier.

C# bibliothèque pour optimiser et compresser PDF fichiers

Il existe trois options alternatives pour installer "Aspose.Words pour .NET" sur votre système. Veuillez en choisir un qui correspond à vos besoins et suivez les instructions étape par étape :

Configuration requise

Notre produit est entièrement multiplateforme et prend en charge toutes les principales implémentations .NET:

  • .NET ≥ 5.0
  • .NET Core ≥ 2.0
  • .NET Standard ≥ 2.0
  • .NET Framework ≥ 3.5
  • MonoMac
  • MonoAndroid
  • Xamarin

Dans la mesure où le code .NET ne dépend pas du matériel ou du système d'exploitation sous-jacent, mais uniquement d'une machine virtuelle, vous êtes libre de développer tout type de logiciel pour Windows, macOS, Android, iOS et Linux. Assurez-vous simplement d'avoir installé la version correspondante de .NET Framework, .NET Core, Windows Azure, Mono ou Xamarin.

Nous vous recommandons d'utiliser les environnements de développement intégrés Microsoft Visual Studio, Xamarin et MonoDevelop pour créer des applications C#, F#, VB.NET.

Pour plus de détails, veuillez vous référer à la documentation produit.

Autres optimisations de format de fichier prises en charge

Vous pouvez optimiser des fichiers dans de nombreux autres formats de fichiers:

5%

Abonnez-vous aux mises à jour des produits Aspose

Recevez des newsletters mensuelles et des offres directement dans votre boîte mail.

© Aspose Pty Ltd 2001-2024. Tous les droits sont réservés.