The code to compress HTML in C++

High-performance C++ library to optimize HTML content and size retaining the original quality and baseline data

This is a professional solution to optimize and compress HTML in C++. Use C++ to maximize HTML optimization/compression speed. Try it online for free!

View code snippet

Compress HTML file in C++

Make large HTML files smaller without loss of quality. Delete unnecessary and unused data. Shrink the size of a HTML file in code. The C++ library provides developers with an integrated API to optimize HTML content.

Reduce the size of HTML files using C++

C++ library is a stand-alone solution and doesn't require any third party software installed.

Lossless compression and deep content optimization made easy with 'Aspose.Words for C++'. The following example demonstrates how to optimize the content of a HTML file in C++:

Code example in C++ to compress HTML files
Upload a file you want to optimize/compress
Run code
Select the target format from the list
using namespace Aspose::Words;

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

auto nodes = doc->GetChildNodes(NodeType::Shape, true);
for (const auto& shape : System::IterateOver<Shape>(nodes))
{
    if (shape->get_HasImage())
    {
        // It's up to developer to choose the library for image compression.
        auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream());

        // ...
        // Compress image and set it back to the shape.
        shape->get_ImageData()->SetImage("yourCompressedImage");
    }
}

doc->Save(u"Output.html");
using namespace Aspose::Words; auto doc = MakeObject<Document>(u"Input.html"); doc->Cleanup(); auto nodes = doc->GetChildNodes(NodeType::Shape, true); for (const auto& shape : System::IterateOver<Shape>(nodes)) { if (shape->get_HasImage()) { // It's up to developer to choose the library for image compression. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Compress image and set it back to the shape. shape->get_ImageData()->SetImage("yourCompressedImage"); } } auto saveOptions = MakeObject<PdfSaveOptions>(); saveOptions->set_CacheBackgroundGraphics(true); doc->Save(u"Output.html", saveOptions); using namespace Aspose::Words; auto doc = MakeObject<Document>(u"Input.html"); doc->Cleanup(); auto nodes = doc->GetChildNodes(NodeType::Shape, true); for (const auto& shape : System::IterateOver<Shape>(nodes)) { if (shape->get_HasImage()) { // It's up to developer to choose the library for image compression. auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream()); // ... // Compress image and set it back to the shape. shape->get_ImageData()->SetImage("yourCompressedImage"); } } doc->Save(u"Output.html"); using namespace Aspose::Words; auto doc = MakeObject<Document>(u"Input.html"); doc->Cleanup(); auto nodes = doc->GetChildNodes(NodeType::Shape, true); for (const auto& shape : System::IterateOver<Shape>(nodes)) { if (shape->get_HasImage()) { // It's up to developer to choose the library for image compression. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Compress image and set it back to the shape. shape->get_ImageData()->SetImage("yourCompressedImage"); } } auto saveOptions = MakeObject<OoxmlSaveOptions>(); saveOptions->set_CompressionLevel(CompressionLevel::Maximum); doc->Save(u"Output.html", saveOptions); using namespace Aspose::Words; auto doc = MakeObject<Document>(); auto builder = MakeObject<DocumentBuilder>(doc); auto shape = builder->InsertImage(u"Input.html"); // Update page settings to crop the document to fit the size of the picture. 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::Html); doc->Save(u"Output.html", saveOptions);
Run code

How to compress HTML C++

  1. Install Aspose.Words for C++.
  2. Add a library reference (import the library) to your C++ project.
  3. Open the source HTML file in C++.
  4. Compress HTML without losing quality.
  5. Call the Document.Cleanup() method. The resulting code may vary depending on the output file format.
  6. Get the compressed result as a HTML file.

C++ library to optimize and compress HTML files

There are three options to install Aspose.Words for C++ to your developer environment. Please choose one that resembles your needs and follow the step-by-step instructions:

System Requirements

You can use this C++ library to develop software on Microsoft Windows, Linux and macOS operating systems:

  • GCC >= 6.3.0 and Clang >= 3.9.1 are required for Linux
  • Xcode >= 12.5.1, Clang and libc++ are required for macOS

If you develop software for Linux or macOS, please check information on additional library dependencies (fontconfig and mesa-glu open-source packages) in Product Documentation.

Other supported file format optimizations

You can optimize files in many other file formats:

5%

Subscribe to Aspose Product Updates

Get monthly newsletters and offers directly delivered to your mailbox.

© Aspose Pty Ltd 2001-2024. All Rights Reserved.