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!
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.
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#:
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;
}
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 :
Notre produit est entièrement multiplateforme et prend en charge toutes les principales implémentations .NET:
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.
Vous pouvez optimiser des fichiers dans de nombreux autres formats de fichiers: