Оптимизация и сжатие файлов на C#

Высокопроизводительная .NET библиотека для оптимизации структуры и уменьшения размера файла с сохранением исходного качества и исходных данных.

Разрабатывайте программное обеспечение, используя расширенный API для оптимизации документов, создавайте высокоуровневый код для платформ .NET и .NET Core. Это мощное решение для сжатия документов и изображений на языках C#, F#, VB.NET.

Посмотреть фрагмент кода

Сжать Word документы на C#

Уменьшайте большие файлы без потери качества. Удалите ненужные и неиспользуемые данные. Уменьшите размер Word и HTML файлов на C#. Наша C# библиотека предоставляет разработчикам интегрированный API для оптимизации документов в различных форматах.

Эта C# библиотека является автономным решением и не требует установки стороннего ПО.

Уменьшить размер Word файлов на C#

Максимальный эффект можно получить за счет оптимизации изображений в высоких разрешениях, а также документов, содержащих такие изображения. Наша C# библиотека поможет вам сжать DOCX файлы, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.

Оптимизация документов без потери качества стала проще благодаря 'Aspose.Words for .NET'. В следующем примере показано, как уменьшить размер Word документа на C#:

Пример 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; }
Выполнить код

Как сжать Word, PDF, GIF, ZIP C#

  1. Установите Aspose.Words for .NET.
  2. Добавьте ссылку на библиотеку (импортируйте библиотеку) в свой C# проект.
  3. Откройте исходный файл на C#.
  4. Сжимайте документы и изображения без потери качества.
  5. Вызовите метод Document.Cleanup(). Итоговый код может варьироваться в зависимости от форматов входных/выходных файлов.
  6. Получите результат в виде сжатого файла.

C# библиотека для оптимизации и сжатия файлов

Есть три альтернативных варианта установки "Aspose.Words для .NET" в вашу систему. Пожалуйста, выберите тот, который соответствует вашим потребностям, и следуйте пошаговым инструкциям:

Системные Требования

Наш продукт полностью кроссплатформенный и поддерживает все основные реализации '.NET Standard 2.0':

  • Microsoft .NET Framework, начиная с самой ранней версии 2.0 и заканчивая последней версией '.NET Framework 4.8'
  • .NET Core, начиная с самой ранней версии 2.0 и заканчивая последней '.NET 6'
  • Mono >= 2.6.7

Поскольку код .NET не зависит от аппаратного обеспечения или операционной системы, а только от VM, вы можете разрабатывать любое программное обеспечение для ОС Windows, macOS, Android, iOS и Linux. Просто убедитесь, что вы установили соответствующую версию .NET Framework, .NET Core, Windows Azure, Mono или Xamarin.

Мы рекомендуем использовать интегрированные среды разработки Microsoft Visual Studio, Xamarin и MonoDevelop для разработки приложений на C#, F#, VB.NET.

Подробную информацию смотрите в нашей документации по продукту.

Наиболее популярные форматы файлов для оптимизации

5%

Подпишитесь на обновления продукта Aspose

Получайте ежемесячные информационные бюллетени и предложения, доставляемые прямо на ваш почтовый ящик.