Esta es una solución profesional para comprimir Word usando C#, F#, VB.NET. Utilice nuestra API de optimización Word para desarrollar software independiente de plataforma de alto nivel para plataformas .NET y .NET Core. ¡Pruébelo online gratis!
Haga que los archivos grandes Word más pequeños sin pérdida de calidad. Elimine los datos innecesarios y no utilizados. Reduzca el tamaño de un Word archivo en el código. La C# biblioteca proporciona a los desarrolladores una API integrada para optimizar el contenido de Word.
La C# biblioteca es una solución independiente y no requiere la instalación de ningún software de terceros.
La compresión sin pérdidas y la optimización profunda del contenido son fáciles con 'Aspose.Words for .NET'. El siguiente ejemplo demuestra cómo optimizar el contenido de un Word archivo 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());
// ...
// Comprimir la imagen y volver a configurarla en la 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)
{
// 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.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)
{
// 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.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)
{
// 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.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)
{
// 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.docx", 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: