Kod untuk memampatkan DOCX dalam C++

Pustaka C++ berprestasi tinggi untuk mengoptimumkan DOCX kandungan dan saiz mengekalkan kualiti asal dan data garis dasar

Ini ialah penyelesaian profesional untuk mengoptimumkan dan memampatkan DOCX dalam C++. Gunakan C++ untuk memaksimumkan DOCX kelajuan pengoptimuman/mampatan. Cuba dalam talian secara percuma!

Lihat coretan kod

Mampatkan DOCX fail dalam C++

Jadikan DOCX fail yang besar lebih kecil tanpa kehilangan kualiti. Padamkan data yang tidak perlu dan tidak digunakan. Kecilkan saiz DOCX fail dalam kod. C++ menyediakan pembangun dengan API bersepadu untuk mengoptimumkan kandungan DOCX.

Kurangkan saiz DOCX fail menggunakan C++

C++ ialah penyelesaian yang berdiri sendiri dan tidak memerlukan sebarang perisian pihak ketiga dipasang.

Pemampatan tanpa kerugian dan pengoptimuman kandungan dalam dipermudahkan dengan 'Aspose.Words for C++'. Contoh berikut menunjukkan cara mengoptimumkan kandungan DOCX fail dalam C++:

Contoh kod dalam C++ untuk memampatkan DOCX fail
Muat naik fail yang anda mahu optimumkan/mampatkan
Jalankan kod
Pilih format sasaran daripada senarai
dotnet add package Aspose.Words.Cpp
Salinan
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())
    {
        //  kepada pembangun untuk memilih perpustakaan untuk pemampatan imej.
        auto image = 
           System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream());

        // ...
        //  Mampatkan imej dan tetapkannya semula kepada bentuk.
        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()) { // kepada pembangun untuk memilih perpustakaan untuk pemampatan imej. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Mampatkan imej dan tetapkannya semula kepada bentuk. 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()) { // Terpulang kepada pembangun untuk memilih perpustakaan untuk pemampatan imej. auto image = System::Drawing::Image::Fromstream(shape->get_ImageData()->ToStream()); // ... // Mampatkan imej dan tetapkan semula kepada bentuk. 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()) { // kepada pembangun untuk memilih perpustakaan untuk pemampatan imej. auto image = System::Drawing::Image::FromStream(shape->get_ImageData()->ToStream()); // ... // Mampatkan imej dan tetapkannya semula kepada bentuk. 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"); auto saveOptions = MakeObject<ImageSaveOptions>(SaveFormat::Docx); shape->GetShapeRenderer()->Save(u"Output.docx", saveOptions);
Jalankan kod

Bagaimana untuk memampatkan DOCX dalam C++

  1. Pasang Aspose.Words for C++.
  2. Tambahkan rujukan perpustakaan (import pustaka) ke projek C++ anda.
  3. Buka DOCX fail sumber dalam C++.
  4. Mampat DOCX tanpa kehilangan kualiti.
  5. Panggil kaedah Document.Cleanup(). Kod yang terhasil mungkin berbeza-beza bergantung pada format fail output.
  6. Dapatkan hasil termampat sebagai DOCX fail.

Pustaka C++ untuk mengoptimumkan dan memampatkan DOCX fail

Terdapat tiga pilihan untuk memasang Aspose.Words for C++ ke persekitaran pembangun anda. Sila pilih satu yang menyerupai keperluan anda dan ikut arahan langkah demi langkah:

Keperluan Sistem

Anda boleh menggunakan perpustakaan C++ ini untuk mengembangkan perisian pada Microsoft Windows, Linux dan macOS:

  • GCC >= 6.3.0 dan Clang >= 3.9.1 diperlukan untuk Linux
  • Xcode >= 12.5.1, Clang dan libc++ diperlukan untuk macOS

Sekiranya anda mengembangkan perisian untuk Linux atau macOS, sila periksa maklumat mengenai pergantungan perpustakaan tambahan (pakej sumber terbuka fontconfig dan mesa-glu) dalam Dokumentasi Produk.

Pengoptimuman format fail lain yang disokong

Anda boleh mengoptimumkan fail dalam banyak format fail lain:

5%

Langgan Kemas Kini Produk Aspose

Dapatkan surat berita bulanan dan tawaran yang dihantar terus ke peti mel anda.

© Aspose Pty Ltd 2001-2024. Hak cipta terpelihara.