Optimiser et compresser les fichiers dans C++

Bibliothèque C++ hautes performances pour optimiser le contenu et la taille du fichier en conservant la qualité d'origine et les données de base

Utilisez C++ pour obtenir une vitesse de traitement maximale des documents. C'est une solution puissante pour compresser des Word documents, Web en C++. Essayez-le en ligne gratuitement!

Afficher l'extrait de code

Compresser des Word documents et HTML dans C++

Réduisez la taille des fichiers volumineux sans perte de qualité. Supprimez les données inutiles et inutilisées. Réduisez la taille des Word fichiers et HTML dans C++. Notre C++ bibliothèque fournit aux développeurs une API intégrée pour optimiser les documents dans différents formats.

Cette C++ bibliothèque est une solution autonome et ne nécessite l'installation d'aucun logiciel tiers.

Réduisez la taille des Word fichiers et HTML à l'aide C++

L'effet maximal peut être obtenu en optimisant les images haute résolution, ainsi que les documents contenant de telles images. Notre C++ bibliothèque vous aidera à compresser les DOCX fichiers, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.

Optimisation des documents sans perte de qualité simplifiée avec 'Aspose.Words for C++'. L'exemple suivant montre comment réduire la taille d'un Word document dans C++:

C++ exemple de code pour optimiser le contenu et la taille du fichier
Téléchargez un fichier que vous souhaitez optimiser/compresser
Exécuter le code
Sélectionnez le format cible dans la liste
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())
    {
        //  C'est au développeur de choisir la bibliothèque pour la compression d'image.
        auto image = 
           System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());

        // ...
        //  Compresser l'image et la remettre dans la forme.
        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()) { // C'est au développeur de choisir la bibliothèque pour la compression d'image. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Compresser l'image et la remettre dans la forme. 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()) { // C'est au développeur de choisir la bibliothèque pour la compression d'image. auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream()); // ... // Compressez l'image et remettez-la à la forme. 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()) { // C'est au développeur de choisir la bibliothèque pour la compression d'image. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Compresser l'image et la remettre dans la forme. 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"); // Mettez à jour les paramètres de la page pour recadrer le document en fonction de la taille de l'image. 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);
Exécuter le code

Comment compresser un fichier Word, PDF, GIF, ZIP C++

  1. Installez Aspose.Words for C++.
  2. Ajoutez une référence de bibliothèque (importez la bibliothèque) à votre projet C++.
  3. Ouvrez le fichier source dans C++.
  4. Compressez les documents et les images sans perte de qualité.
  5. Appelez la méthode Document.Cleanup(). Le code résultant peut varier en fonction des formats de fichier d'entrée/sortie.
  6. Obtenez le résultat sous forme de fichier compressé.

C++ bibliothèque pour optimiser et compresser les fichiers

Il existe trois options pour installer Aspose.Words for C++ dans votre environnement de développeur. Veuillez en choisir un qui correspond à vos besoins et suivez les instructions étape par étape :

Configuration requise

Vous pouvez utiliser cette bibliothèque C++ pour développer des logiciels sur Microsoft Windows, Linux et macOS :

  • GCC >= 6.3.0 et Clang >= 3.9.1 sont requis pour Linux
  • Xcode >= 12.5.1, Clang et libc++ sont requis pour macOS

Si vous développez des logiciels pour Linux ou macOS, veuillez vérifier les informations sur les dépendances de bibliothèques supplémentaires ( packages open source fontconfig et mesa-glu) dans la documentation produit.

Formats de fichiers les plus populaires à optimiser

5%

Abonnez-vous aux mises à jour des produits Aspose

Recevez des newsletters mensuelles et des offres directement dans votre boîte mail.

© Aspose Pty Ltd 2001-2024. Tous les droits sont réservés.