Optimera och komprimera filer i C++

Högpresterande C++ bibliotek för att optimera filens innehåll och storlek med bibehållen originalkvalitet och baslinjedata

Använd C++ för att få maximal dokumentbehandlingshastighet. Detta är en kraftfull lösning för att komprimera Word, webbdokument i C++. Prova det gratis online!

Visa kodavsnitt

Komprimera Word och HTML dokument i C++

Gör stora filer mindre utan kvalitetsförlust. Radera onödig och oanvänd data. Krymp storleken på Word och HTML filer i C++. Vårt C++ bibliotek ger utvecklare ett integrerat API för att optimera dokument i olika format.

Detta C++ bibliotek är en fristående lösning och kräver ingen programvara från tredje part installerad.

Minska storleken på Word och HTML filer med C++

Den maximala effekten kan uppnås genom att optimera högupplösta bilder, såväl som dokument som innehåller sådana bilder. Vårt C++ bibliotek hjälper dig att komprimera DOCX, DOC, RTF, ODT, EPUB, HTML, JPG, PNG filer.

Optimering av dokument utan kvalitetsförlust på ett enkelt sätt med 'Aspose.Words for C++'. Följande exempel visar hur man förminskar storleken på ett Word dokument i C++:

C++ kodexempel för att optimera filens innehåll och storlek
Ladda upp en fil du vill optimera/komprimera
Kör kod
Välj målformat från listan
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())
    {
        //  Det är upp till utvecklaren att välja biblioteket för bildkomprimering.
        auto image = 
           System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());

        // ...
        //  Komprimera bilden och ställ tillbaka den till formen.
        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()) { // Det är upp till utvecklaren att välja biblioteket för bildkomprimering. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Komprimera bilden och ställ tillbaka den till formen. 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()) { // Det är upp till utvecklaren att välja biblioteket för bildkomprimering. auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream()); // ... // Komprimera bilden och ställ tillbaka den till formen. 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()) { // Det är upp till utvecklaren att välja biblioteket för bildkomprimering. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Komprimera bilden och ställ tillbaka den till formen. 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"); // Uppdatera sidinställningarna för att beskära dokumentet så att det passar bildens storlek. 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);
Kör kod

Så här komprimerar du Word, JPG och andra filformat i C++

  1. Installera Aspose.Words for C++.
  2. Lägg till en biblioteksreferens (importera biblioteket) till ditt C++ projekt.
  3. Öppna källfilen i C++.
  4. Komprimera dokument och bilder utan att förlora kvalitet.
  5. Anropa metoden Document.Cleanup(). Den resulterande koden kan variera beroende på in-/utdatafilformaten.
  6. Få resultatet som en komprimerad fil.

C++ bibliotek för att optimera och komprimera filer

Det finns tre alternativ för att installera Aspose.Words for C++ i din utvecklarmiljö. Välj en som liknar dina behov och följ steg-för-steg-instruktionerna:

Systemkrav

Du kan använda detta C++ - bibliotek för att utveckla programvara på Microsoft Windows, Linux och macOS:

  • GCC >= 6.3.0 och Clang >= 3.9.1 krävs för Linux
  • Xcode >= 12.5.1, Clang och libc++ krävs för macOS

Om du utvecklar programvara för Linux eller macOS, kontrollera information om ytterligare bibliotekberoenden (fontconfig och mesa-glu open-source-paket) i produktdokumentation.

5%

Prenumerera på Aspose produktuppdateringar

Få månatliga nyhetsbrev och erbjudanden direkt levererade till din brevlåda.

© Aspose Pty Ltd 2001-2024. Alla rättigheter förbehållna.