优化和压缩C#中的文件

用于优化文件内容和大小的高性能.NET库,保留原始质量和基线数据

使用高级文档优化 API 开发软件,为.NET和.NET Core平台创建与平台无关的高级代码。这是在C#, F#, VB.NET中压缩文档和图像的强大解决方案。

查看代码片段

在 C# 中压缩 Word 和 HTML 文档

在不损失质量的情况下使大文件变小。删除不必要和未使用的数据。在 C# 中缩小 Word 和 HTML 文件的大小。我们的 C# 库为开发人员提供了一个集成的 API 来优化各种格式的文档。

这个 C# 库是一个独立的解决方案,不需要安装任何第三方软件。

使用 C# 减小 Word 和 HTML 文件的大小

通过优化高分辨率图像以及包含此类图像的文档,可以获得最大的效果。我们的 C# 库将帮助您压缩 HTML、DOCX、DOC、RTF、ODT、EPUB、HTML、JPG、PNG 文件。

使用 'Aspose.Words for .NET' 可以轻松优化文档而不降低质量。以下示例显示了如何在 C# 中缩小 Word 文档的大小:

C#优化文件内容和大小的代码示例
上传要优化/压缩的文件
运行代码
从列表中选择目标格式
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)
    {
        // 由开发人员选择用于图像压缩的库。
        using var image = Image.FromStream(shape.ImageData.ToStream());

        // ...
        // 压缩图像并将其设置回形状。
        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) { // 由开发人员选择用于图像压缩的库。 using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // 压缩图像并将其设置回形状。 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) { // 由开发人员选择用于图像压缩的库。 using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // 压缩图像并将其设置回形状。 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) { // 由开发人员选择用于图像压缩的库。 using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // 压缩图像并将其设置回形状。 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 pageSetup = builder.PageSetup; pageSetup.PageWidth = shape.Width; pageSetup.PageHeight = shape.Height; pageSetup.TopMargin = 0; pageSetup.LeftMargin = 0; pageSetup.BottomMargin = 0; pageSetup.RightMargin = 0; var saveOptions = new ImageSaveOptions(SaveFormat.Docx) { }; doc.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) { // 设置最大页面大小以避免当前页面图像缩放。 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; }
运行代码

C#如何压缩PDF、 Word 、JPG等文件格式

  1. 安装Aspose.Words for .NET 。
  2. 将库引用(导入库)添加到您的C#项目。
  3. 在C#中打开源文件。
  4. 在不损失质量的情况下压缩文档和图像。
  5. 调用Document.Cleanup()方法。结果代码可能因输入/输出文件格式而异。
  6. 以压缩文件的形式获取结果。

C#库来优化和压缩文件

在您的系统上 "Aspose.Words for .NET" 有三个备选选项。请选择符合您需求的一种,并按照分步说明进行操作:

系统要求

我们的产品是完全跨平台的,并支持所有主要的 .NET 实现:

  • .NET ≥ 5.0
  • .NET Core ≥ 2.0
  • .NET Standard ≥ 2.0
  • .NET Framework ≥ 3.5
  • MonoMac
  • MonoAndroid
  • Xamarin

由于 .NET 代码不依赖于底层硬件或操作系统,而只依赖于虚拟机,因此您可以自由地为 Windows、macOS、Android、iOS 和 Linux 开发任何类型的软件。只需确保您已安装相应版本的.NET Framework, .NET Core, Windows Azure, Mono或Xamarin即可。

我们建议使用 Microsoft Visual Studio、Xamarin 和 MonoDevelop 集成开发环境来创建C#, F#, VB.NET应用程序。

更多详细信息请参阅产品文档

5%

订阅 Aspose 产品更新

获取直接发送到您的邮箱的每月通讯和优惠。

© Aspose Pty Ltd 2001-2024. 版权所有。