Optimaliseer en comprimeer bestanden in C++

Krachtige C++ bibliotheek om de inhoud en grootte van bestanden te optimaliseren met behoud van de oorspronkelijke kwaliteit en basislijngegevens

Gebruik C++ om maximale documentverwerkingssnelheid te verkrijgen. Dit is een krachtige oplossing om Word, PDF en webdocumenten in C++ te comprimeren. Probeer het gratis online!

Codefragment bekijken

Comprimeer Word en HTML documenten in C++

Grote bestanden kleiner maken zonder kwaliteitsverlies. Verwijder onnodige en ongebruikte gegevens. Verklein de grootte van Word en HTML bestanden in C++. Onze C++ bibliotheek biedt ontwikkelaars een geïntegreerde API om documenten in verschillende formaten te optimaliseren.

Deze C++ bibliotheek is een stand-alone oplossing en vereist geen installatie van software van derden.

Verklein de grootte van Word en HTML bestanden met C++

Het maximale effect kan worden bereikt door het optimaliseren van afbeeldingen met een hoge resolutie, evenals documenten die dergelijke afbeeldingen bevatten. Onze C++ bibliotheek helpt u bij het comprimeren van DOCX, DOC, RTF, ODT, EPUB, HTML, JPG en PNG bestanden.

Optimalisatie van documenten zonder kwaliteitsverlies gemakkelijk gemaakt met 'Aspose.Words for C++'. Het volgende voorbeeld laat zien hoe u de grootte van een Word document in C++:

C++ codevoorbeeld om de inhoud en grootte van het bestand te optimaliseren
Upload een bestand dat u wilt optimaliseren/comprimeren
Voer code uit
Selecteer het doelformaat uit de lijst
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())
    {
        //  Het is aan de ontwikkelaar om de bibliotheek voor beeldcompressie te kiezen.
        auto image = 
           System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());

        // ...
        //  Comprimeer de afbeelding en zet deze terug in de vorm.
        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()) { // Het is aan de ontwikkelaar om de bibliotheek voor beeldcompressie te kiezen. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Comprimeer de afbeelding en zet deze terug in de vorm. 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()) { // Het is aan de ontwikkelaar om de bibliotheek voor beeldcompressie te kiezen. auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream()); // ... // Comprimeer de afbeelding en zet deze terug in de vorm. 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()) { // Het is aan de ontwikkelaar om de bibliotheek voor beeldcompressie te kiezen. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Comprimeer de afbeelding en zet deze terug in de vorm. 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"); // Werk de pagina-instellingen bij om het document bij te snijden zodat het op het formaat van de afbeelding past. 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);
Voer code uit

Hoe u Word, JPG en andere bestandsindelingen comprimeert in C++

  1. Installeer Aspose.Words for C++.
  2. Voeg een bibliotheekreferentie toe (importeer de bibliotheek) aan uw C++ project.
  3. Open het bronbestand in C++.
  4. Comprimeer documenten en afbeeldingen zonder kwaliteitsverlies.
  5. Roep de methode Document.Cleanup() aan. De resulterende code kan variëren, afhankelijk van de invoer-/uitvoerbestandsindelingen.
  6. Verkrijg het resultaat als een gecomprimeerd bestand.

C++ bibliotheek om bestanden te optimaliseren en te comprimeren

Er zijn drie opties om Aspose.Words for C++ in uw ontwikkelomgeving te installeren. Kies er een die overeenkomt met uw behoeften en volg de stapsgewijze instructies:

systeem vereisten

U kunt deze C++-bibliotheek gebruiken om software te ontwikkelen op Microsoft Windows, Linux- en macOS-besturingssystemen:

  • GCC >= 6.3.0 en Clang >= 3.9.1 zijn vereist voor Linux
  • Xcode >= 12.5.1, Clang en libc++ zijn vereist voor macOS

Als u software voor Linux of macOS ontwikkelt, raadpleeg dan de informatie over aanvullende bibliotheekafhankelijkheden (fontconfig en mesa-glu open-sourcepakketten) in Productdocumentatie.

5%

Abonneer u op productupdates van Aspose

Ontvang maandelijkse nieuwsbrieven en aanbiedingen direct in je mailbox.

© Aspose Pty Ltd 2001-2024. Alle rechten voorbehouden.