Optimizar y comprimir archivos en C++

Biblioteca C++ de alto rendimiento para optimizar el contenido y el tamaño de los archivos conservando la calidad original y los datos de referencia

Utilice C++ para obtener la máxima velocidad de procesamiento de documentos. Esta es una poderosa solución para comprimir Word documentos, Web en C++. ¡Pruébelo online gratis!

Ver fragmento de código

Comprimir documentos de Word y HTML en C++

Reduzca el tamaño de los archivos grandes sin pérdida de calidad. Elimine los datos innecesarios y no utilizados. Reduzca el tamaño de los archivos de Word y HTML en C++. Nuestra C++ biblioteca proporciona a los desarrolladores una API integrada para optimizar documentos en varios formatos.

Esta C++ biblioteca es una solución independiente y no requiere la instalación de ningún software de terceros.

Reduzca el tamaño de los archivos de Word y HTML usando C++

El efecto máximo se puede obtener optimizando imagenes de alta resolución, así como documentos que contengan dichas imagenes. Nuestra C++ biblioteca lo ayudará a comprimir DOCX archivos, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.

Optimización de documentos sin pérdida de calidad fácil con 'Aspose.Words for C++'. El siguiente ejemplo muestra cómo reducir el tamaño de un documento de Word en C++:

C++ ejemplo de código para optimizar el contenido y el tamaño del archivo
Sube un archivo que quieras optimizar/comprimir
Ejecutar código
Seleccione el formato de destino de la 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())
    {
        //  del desarrollador elegir la biblioteca para la compresión de imágenes.
        auto image = 
           System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());

        // ...
        //  Comprime la imagen y vuelve a configurarla en la 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()) { // del desarrollador elegir la biblioteca para la compresión de imágenes. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Comprimir la imagen y volver a configurarla en la 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()) { // Depende del desarrollador elegir la biblioteca para la compresión de imágenes. auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream()); // ... // Comprimir imagen y volver a configurarla en la 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()) { // del desarrollador elegir la biblioteca para la compresión de imágenes. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Comprime la imagen y vuelve a configurarla en la 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"); // Actualice la configuración de la página para recortar el documento para que se ajuste al tamaño de la imagen. 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);
Ejecutar código

Como comprimir un archivo Word, PDF, GIF, ZIP C++

  1. Instale Aspose.Words for C++.
  2. Agregue una referencia de biblioteca (importe la biblioteca) a su proyecto C++.
  3. Abra el archivo de origen en C++.
  4. Comprime documentos e imagenes sin perder calidad.
  5. Llame al método Document.Cleanup(). El código resultante puede variar según los formatos de archivo de entrada/salida.
  6. Obtenga el resultado como un archivo comprimido.

C++ biblioteca para optimizar y comprimir archivos

Hay tres opciones para instalar Aspose.Words for C++ en su entorno de desarrollador. Elija uno que se adapte a sus necesidades y siga las instrucciones paso a paso:

Requisitos del sistema

Puede utilizar esta biblioteca C++ para desarrollar software en los Microsoft Windows, Linux y macOS:

  • GCC >= 6.3.0 y Clang >= 3.9.1 son necesarios para Linux
  • Xcode >= 12.5.1, Clang y libc++ son necesarios para macOS

Si desarrolla software para Linux o macOS, consulte la información sobre las dependencias de bibliotecas adicionales (paquetes de código abierto fontconfig y mesa-glu) en la Documentación del producto.

Formatos de archivo más populares para optimizar

5%

Suscríbase a las actualizaciones de productos de Aspose

Reciba boletines y ofertas mensuales directamente en su buzón.

© Aspose Pty Ltd 2001-2024. Reservados todos los derechos.