Оптимізуйте та стискайте файли в C++

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

Використовуйте C++, щоб отримати максимальну швидкість обробки документів. Це потужне рішення для стиснення Word документів, Web на C++. Спробуйте онлайн безкоштовно!

Переглянути фрагмент коду

Стисніть Word документи і HTML в C++

Зменште великі файли без втрати якості. Видаліть непотрібні та невикористані дані. Зменшити розмір Word файлів і HTML у C++. Наша бібліотека C++ надає розробникам інтегрований API для оптимізації документів у різних форматах.

Ця бібліотека C++ є самостійним рішенням і не вимагає встановлення стороннього програмного забезпечення.

Зменште розмір Word файлів і HTML за допомогою 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);
Виконати код

Як стиснути файл Word, PDF, GIF, ZIP C++

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

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

Існує три варіанти встановлення Aspose.Words for C++ у ваше середовище розробника. Будь ласка, виберіть той, який відповідає вашим потребам, і дотримуйтесь покрокових інструкцій:

Системні вимоги

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

  • GCC >= 6.3.0 та Clang >= 3.9.1 потрібні для Linux
  • Xcode >= 12.5.1, для macOS потрібні Clang та libc++

Якщо ви розробляєте програмне забезпечення для Linux або macOS, будь ласка, перевірте інформацію про додаткові бібліотечні залежності (пакети з відкритим кодом fontconfig та mesa-glu) у документації до продукту.

Найпопулярніші формати файлів для оптимізації

5%

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

Отримуйте щомісячні інформаційні бюлетені та пропозиції безпосередньо на вашу поштову скриньку.

© Aspose Pty Ltd 2001-2024. Всі права захищені.