Otimize e comprima arquivos em C++

Biblioteca C++ de alto desempenho para otimizar o conteúdo e o tamanho do arquivo, mantendo a qualidade original e os dados de linha de base

Use C++ para obter a velocidade máxima de processamento de documentos. Esta é uma solução poderosa para compactar Word documentos, Web em C++. Experimente online gratuitamente!

Ver trecho de código

Compactar Word documentos e HTML em C++

Reduza arquivos grandes sem perda de qualidade. Exclua dados desnecessários e não utilizados. Reduza o tamanho dos Word arquivos e HTML em C++. Nossa C++ biblioteca fornece aos desenvolvedores uma API integrada para otimizar documentos em vários formatos.

Esta C++ biblioteca é uma solução independente e não requer nenhum software de terceiros instalado.

Reduza o tamanho dos Word arquivos e HTML usando C++

O efeito máximo pode ser obtido otimizando imagens de alta resolução, bem como documentos que contenham essas imagens. Nossa C++ biblioteca ajudará você a compactar DOCX arquivos, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.

Otimização de documentos sem perda de qualidade facilitada com 'Aspose.Words for C++'. O exemplo a seguir mostra como reduzir o tamanho de um Word documento em C++:

C++ exemplo de código para otimizar o conteúdo e o tamanho do arquivo
Carregue um arquivo que você deseja otimizar/compactar
Código de execução
Selecione o formato de destino na lista
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())
    {
        //  Cabe ao desenvolvedor escolher a biblioteca para compressão de imagem.
        auto image = 
           System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());

        // ...
        //  Compacta a imagem e a define de volta para a forma.
        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()) { // Cabe ao desenvolvedor escolher a biblioteca para compressão de imagem. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Compacta a imagem e a define de volta para a forma. 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()) { // Cabe ao desenvolvedor escolher a biblioteca para compressão de imagem. auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream()); // ... // Comprima a imagem e defina-a de volta à forma. 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()) { // Cabe ao desenvolvedor escolher a biblioteca para compressão de imagem. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Compacta a imagem e a define de volta para a forma. 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"); // Atualiza as configurações da página para cortar o documento para caber no tamanho da imagem. 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ódigo de execução

Como compactar Word, JPG e outros formatos de arquivo em C++

  1. Instale Aspose.Words for C++.
  2. Adicione uma referência de biblioteca (importe a biblioteca) ao seu projeto C++.
  3. Abra o arquivo de origem em C++.
  4. Comprima documentos e imagens sem perder qualidade.
  5. Chame o método Document.Cleanup(). O código resultante pode variar dependendo dos formatos de arquivo de entrada/saída.
  6. Obtenha o resultado como um arquivo compactado.

C++ biblioteca para otimizar e compactar arquivos

Existem três opções para instalar Aspose.Words for C++ em seu ambiente de desenvolvedor. Escolha um que corresponda às suas necessidades e siga as instruções passo a passo:

Requisitos de sistema

Você pode usar esta biblioteca C++ para desenvolver software nos Microsoft Windows, Linux e macOS:

  • GCC >= 6.3.0 e Clang >= 3.9.1 são necessários para Linux
  • Xcode >= 12.5.1, Clang e libc++ são necessários para macOS

Se você desenvolve software para Linux ou macOS, verifique as informações sobre dependências adicionais da biblioteca (pacotes de fonte aberta fontconfig e mesa-glu) na Documentação do Produto.

Formatos de arquivo mais populares para otimizar

5%

Inscreva-se para receber atualizações do produto Aspose

Receba boletins e ofertas mensais diretamente em sua caixa de correio.

© Aspose Pty Ltd 2001-2024. Todos os direitos reservados.