Développez des logiciels à l'aide d'une API d'optimisation de documents avancée, créez un code de haut niveau indépendant de la plate-forme pour les plates-formes .NET et .NET Core. Il s'agit d'une solution puissante pour compresser des documents et des images en C#, F#, VB.NET.
Réduisez la taille des fichiers volumineux sans perte de qualité. Supprimez les données inutiles et inutilisées. Réduisez la taille des Word fichiers et HTML dans C#. Notre C# bibliothèque fournit aux développeurs une API intégrée pour optimiser les documents dans différents formats.
Cette C# bibliothèque est une solution autonome et ne nécessite l'installation d'aucun logiciel tiers.
L'effet maximal peut être obtenu en optimisant les images haute résolution, ainsi que les documents contenant de telles images. Notre C# bibliothèque vous aidera à compresser les DOCX fichiers, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.
Optimisation des documents sans perte de qualité simplifiée avec 'Aspose.Words for .NET'. L'exemple suivant montre comment réduire la taille d'un Word document dans C#:
dotnet add package Aspose.Words
Copie
using Aspose.Words;
var doc = new Document("Input.docx");
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.docx", saveOptions);
using Aspose.Words;
var doc = new Document("Input.docx");
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.docx", saveOptions);
using Aspose.Words;
var doc = new Document("Input.docx");
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.docx");
using Aspose.Words;
var doc = new Document("Input.docx");
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.docx", saveOptions);
using Aspose.Words;
var doc = new Document();
var builder = new DocumentBuilder(doc);
var shape = builder.InsertImage("Input.docx");
var saveOptions = new ImageSaveOptions(SaveFormat.Docx)
{
};
shape.GetShapeRenderer().Save("Output.docx", saveOptions);
using Aspose.Words;
using Aspose.Words.Pdf2Word.FixedFormats;
using var pdfStream = File.OpenRead("Input.docx");
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.docx", 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.