Sviluppa software utilizzando API avanzate di ottimizzazione dei documenti, crea codice di alto livello indipendente dalla piattaforma per piattaforme .NET e .NET Core. Questa è una potente soluzione per comprimere documenti e immagini in C#, F#, VB.NET.
Riduci file di grandi dimensioni senza perdita di qualità. Elimina i dati non necessari e non utilizzati. Riduci le dimensioni dei Word file e HTML in C#. La nostra libreria C# fornisce agli sviluppatori un'API integrata per ottimizzare i documenti in vari formati.
Questa libreria C# è una soluzione autonoma e non richiede l'installazione di software di terze parti.
L'effetto massimo può essere ottenuto ottimizzando le immagini ad alta risoluzione, nonché i documenti che contengono tali immagini. La nostra libreria C# ti aiuterà a comprimere DOCX file, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.
Ottimizzazione dei documenti senza perdita di qualità semplificata con 'Aspose.Words for .NET'. L'esempio seguente mostra come ridurre le dimensioni di un documento di Word in C#:
dotnet add package Aspose.Words
Copia
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)
{
// Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Comprime l'immagine e riportala alla forma.
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)
{
// Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Comprime l'immagine e riportala alla forma.
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)
{
// Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Comprime l'immagine e riportala alla forma.
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)
{
// Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Comprime l'immagine e riportala alla forma.
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)
{
// Imposta la dimensione massima della pagina per evitare il ridimensionamento dell'immagine della pagina corrente.
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;
}
Ci sono tre opzioni alternative per installare "Aspose.Words per .NET" sul tuo sistema. Scegline uno che corrisponda alle tue esigenze e segui le istruzioni passo passo:
Il nostro prodotto è completamente multipiattaforma e supporta tutte le principali implementazioni .NET:
Poiché il codice .NET non dipende dall'hardware o dal sistema operativo sottostante, ma solo da una macchina virtuale, sei libero di sviluppare qualsiasi tipo di software per Windows, macOS, Android, iOS e Linux. Assicurati solo di aver installato la versione corrispondente di .NET Framework, .NET Core, Windows Azure, Mono o Xamarin.
È consigliabile utilizzare gli ambienti di sviluppo integrati Microsoft Visual Studio, Xamarin e MonoDevelop per creare applicazioni C#, F#, VB.NET.
Per maggiori dettagli fare riferimento alla documentazione del prodotto.