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

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

Используйте C++ для получения максимальной скорости обработки документов. Это мощное решение для сжатия Word документов, веб-документов на C++. Попробуйте онлайн бесплатно!

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

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

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

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

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

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

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

Пример C++ кода для оптимизации структуры и уменьшения размера файла
Загрузите файл, который хотите оптимизировать/сжать
Выполнить код
Выберите целевой формат из списка
using namespace Aspose::Words;

auto doc = MakeObject<Document>(u"Input.docx");
doc->Cleanup();

auto nodes = doc->GetChildNodes(NodeType::Shape, true);
for (const auto& shape : System::IterateOver<Shape>(nodes))
{
    if (shape->get_HasImage())
    {
        //  Разработчик должен выбрать библиотеку для сжатия изображений.
        auto image = 
           System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());

        // ...
        //  Сжать изображение и вернуть его к форме.
        shape->get_ImageData()->SetImage("yourCompressedImage");
    }
}

auto saveOptions = MakeObject<OoxmlSaveOptions>();
saveOptions->set_CompressionLevel(CompressionLevel::Maximum);

doc->Save(u"Output.docx", saveOptions);
using namespace Aspose::Words; auto doc = MakeObject<Document>(u"Input.docx"); doc->Cleanup(); auto nodes = doc->GetChildNodes(NodeType::Shape, true); for (const auto& shape : System::IterateOver<Shape>(nodes)) { if (shape->get_HasImage()) { // Разработчик должен выбрать библиотеку для сжатия изображений. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Сжать изображение и вернуть его к форме. shape->get_ImageData()->SetImage("yourCompressedImage"); } } auto saveOptions = MakeObject<PdfSaveOptions>(); saveOptions->set_CacheBackgroundGraphics(true); doc->Save(u"Output.docx", saveOptions); using namespace Aspose::Words; auto doc = MakeObject<Document>(u"Input.docx"); doc->Cleanup(); auto nodes = doc->GetChildNodes(NodeType::Shape, true); for (const auto& shape : System::IterateOver<Shape>(nodes)) { if (shape->get_HasImage()) { // Разработчик должен выбрать библиотеку для сжатия изображений. auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream()); // ... // Сжать изображение и вернуть его к форме. shape->get_ImageData()->SetImage("yourCompressedImage"); } } doc->Save(u"Output.docx"); using namespace Aspose::Words; auto doc = MakeObject<Document>(u"Input.docx"); doc->Cleanup(); auto nodes = doc->GetChildNodes(NodeType::Shape, true); for (const auto& shape : System::IterateOver<Shape>(nodes)) { if (shape->get_HasImage()) { // Разработчик должен выбрать библиотеку для сжатия изображений. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Сжать изображение и вернуть его к форме. shape->get_ImageData()->SetImage("yourCompressedImage"); } } auto saveOptions = MakeObject<OoxmlSaveOptions>(); saveOptions->set_CompressionLevel(CompressionLevel::Maximum); doc->Save(u"Output.docx", saveOptions); using namespace Aspose::Words; auto doc = MakeObject<Document>(); auto builder = MakeObject<DocumentBuilder>(doc); auto shape = builder->InsertImage(u"Input.docx"); // Обновите настройки страницы, чтобы обрезать документ по размеру изображения. auto pageSetup = builder->get_PageSetup(); pageSetup->set_PageWidth(shape->get_Width()); pageSetup->set_PageHeight(shape->get_Height()); pageSetup->set_TopMargin(0); pageSetup->set_LeftMargin(0); pageSetup->set_BottomMargin(0); pageSetup->set_RightMargin(0); auto saveOptions = MakeObject<ImageSaveOptions>(SaveFormat::Docx); doc->Save(u"Output.docx", saveOptions);
Выполнить код

Как сжать файл C++: Word, PDF, GIF, ZIP

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

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

Есть три варианта установки Aspose.Words for C++ в среду разработчика. Пожалуйста, выберите тот, который соответствует вашим потребностям, и следуйте пошаговым инструкциям:

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

Вы можете использовать эту библиотеку C++ для разработки программного обеспечения в Microsoft Windows, Linux и macOS:

  • Для Linux требуются GCC >= 6.3.0 и Clang >= 3.9.1
  • Xcode >= 12.5.1, для macOS требуются Clang и libc++

Если вы разрабатываете программное обеспечение для Linux или macOS, проверьте информацию о зависимостях дополнительных библиотек (fontconfig и пакеты с открытым исходным кодом mesa-glu) в документации по продукту.

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

5%

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

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