Esta es una solución profesional para comprimir EPUB usando C#, F#, VB.NET. Utilice nuestra API de optimización EPUB para desarrollar software independiente de plataforma de alto nivel para plataformas .NET y .NET Core. ¡Pruébelo online gratis!
Actualmente no aceptamos archivos DOCX como entrada. Pero podemos producir archivos DOCX como salida. Esperamos contar con el soporte completo de DOCX en un futuro cercano.
La C# biblioteca es una solución independiente y no requiere la instalación de ningún software de terceros.
Reduzca el tamaño de los archivos DOCX sin pérdida de calidad. La C# biblioteca proporciona a los desarrolladores una API integrada para optimizar el contenido DOCX. La optimización de DOCX se produce al comprimir imagenes dentro de archivos DOCX, así como al eliminar los datos no utilizados.
La compresión sin pérdida de libros electrónicos y la optimización del contenido son fáciles con 'Aspose.Words for .NET'. El siguiente ejemplo demuestra cómo optimizar el contenido de un archivo DOCX en C#:
dotnet add package Aspose.Words
Copiar
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)
{
// del desarrollador elegir la biblioteca para la compresión de imágenes.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Comprime la imagen y vuelve a configurarla en la 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)
{
// del desarrollador elegir la biblioteca para la compresión de imágenes.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Comprimir la imagen y volver a configurarla en la 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)
{
// del desarrollador elegir la biblioteca para la compresión de imágenes.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Comprime la imagen y vuelve a configurarla en la 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)
{
// del desarrollador elegir la biblioteca para la compresión de imágenes.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Comprimir la imagen y volver a configurarla en la 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)
{
// Establecer el tamaño de página máximo para evitar la escala de la imagen de la página actual.
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;
}
Hay tres opciones alternativas para instalar "Aspose.Words para .NET" en su sistema. Elija uno que se adapte a sus necesidades y siga las instrucciones paso a paso:
Nuestro producto es totalmente multiplataforma y admite todas las principales implementaciones de .NET:
En la medida en que el código .NET no depende del hardware o sistema operativo subyacente, sino sólo de una máquina virtual, usted es libre de desarrollar cualquier tipo de software para Windows, macOS, Android, iOS y Linux. Solo asegúrate de haber instalado la versión correspondiente de .NET Framework, .NET Core, Windows Azure, Mono o Xamarin.
Recomendamos utilizar los entornos de desarrollo integrados Microsoft Visual Studio, Xamarin y MonoDevelop para crear aplicaciones C#, F#, VB.NET.
Para obtener más detalles, consulte la documentación del producto.
Puede optimizar archivos en muchos otros formatos de archivo: