Questa è una soluzione professionale per comprimere EPUB usando C#, F#, VB.NET. Utilizza la nostra API di ottimizzazione EPUB per sviluppare software di alto livello indipendente dalla piattaforma per piattaforme .NET e .NET Core. Provalo online gratuitamente!
Al momento non accettiamo file DOCX come input. Ma possiamo produrre file DOCX come output. Non vediamo l'ora di ricevere il pieno supporto DOCX nel prossimo futuro.
La libreria C# è una soluzione autonoma e non richiede l'installazione di software di terze parti.
Riduci i file DOCX senza perdita di qualità. La libreria C# fornisce agli sviluppatori un'API integrata per ottimizzare il contenuto DOCX. L'ottimizzazione DOCX avviene comprimendo le immagini all'interno di file DOCX, nonché rimuovendo i dati inutilizzati.
Compressione senza perdita di ebook e ottimizzazione dei contenuti semplificati con 'Aspose.Words for .NET'. L'esempio seguente mostra come ottimizzare il contenuto di un file DOCX 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");
}
}
doc.Save("Output.epub");
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.epub", 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.epub");
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.epub", 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.epub", 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.epub", 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.
Puoi ottimizzare i file in molti altri formati di file: