Desarrolle software utilizando la API avanzada de optimización de documentos, cree código independiente de la plataforma de alto nivel para las plataformas .NET y .NET Core. Esta es una poderosa solución para comprimir documentos e imagenes en C#, F#, VB.NET.
Reduzca el tamaño de los archivos grandes sin pérdida de calidad. Elimine los datos innecesarios y no utilizados. Reduzca el tamaño de los archivos de Word y HTML en C#. Nuestra C# biblioteca proporciona a los desarrolladores una API integrada para optimizar documentos en varios formatos.
Esta C# biblioteca es una solución independiente y no requiere la instalación de ningún software de terceros.
El efecto máximo se puede obtener optimizando imagenes de alta resolución, así como documentos que contengan dichas imagenes. Nuestra C# biblioteca lo ayudará a comprimir DOCX archivos, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.
Optimización de documentos sin pérdida de calidad fácil con 'Aspose.Words for .NET'. El siguiente ejemplo muestra cómo reducir el tamaño de un documento de Word 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.