Оптимизиране и компресиране на файлове в C++

Високопроизводителна C++ библиотека за оптимизиране на съдържанието и размера на файла, запазвайки оригиналното качество и базовите данни

Използвайте C++, за да получите максимална скорост на обработка на документи. Това е мощно решение за компресиране на Word, уеб документи в 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, JPG и други файлови формати в 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, Clang и libc++ са необходими за macOS

Ако разработвате софтуер за Linux или macOS, моля, проверете информация за допълнителни библиотечни зависимости (fontconfig и mesa-glu пакети с отворен код) в документацията на продукта.

5%

Абонирайте се за актуализации на продуктите на Aspose

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

© Aspose Pty Ltd 2001-2024. Всички права запазени.