Optimumkan dan mampatkan fail dalam C++

Pustaka C++ berprestasi tinggi untuk mengoptimumkan kandungan dan saiz fail dengan mengekalkan kualiti asal dan data asas

Gunakan C++ untuk mendapatkan kelajuan pemprosesan dokumen maksimum. Ini ialah penyelesaian yang berkuasa untuk memampatkan Word, dokumen Web dalam C++. Cuba dalam talian secara percuma!

Lihat coretan kod

Mampatkan Word dokumen dan HTML dalam C++

Jadikan fail besar lebih kecil tanpa kehilangan kualiti. Padamkan data yang tidak perlu dan tidak digunakan. Kecilkan saiz Word fail dan HTML dalam C++. C++ kami menyediakan pembangun dengan API bersepadu untuk mengoptimumkan dokumen dalam pelbagai format.

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

Kurangkan saiz Word fail dan HTML menggunakan C++

Kesan maksimum boleh diperoleh dengan mengoptimumkan imej resolusi tinggi, serta dokumen yang mengandungi imej sedemikian. C++ kami akan membantu anda untuk memampatkan DOCX fail, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.

Pengoptimuman dokumen tanpa kehilangan kualiti dipermudahkan dengan 'Aspose.Words for C++'. Contoh berikut menunjukkan cara mengecilkan saiz Word dokumen dalam C++:

C++ contoh kod untuk mengoptimumkan kandungan dan saiz fail
Muat naik fail yang anda mahu optimumkan/mampatkan
Jalankan kod
Pilih format sasaran daripada senarai
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"); // Kemas kini tetapan halaman untuk memangkas dokumen agar sesuai dengan saiz gambar. 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);
Jalankan kod

Cara untuk memampatkan Word, JPG dan format fail lain dalam C++

  1. Pasang Aspose.Words for C++.
  2. Tambahkan rujukan perpustakaan (import pustaka) ke projek C++ anda.
  3. Buka fail sumber dalam C++.
  4. Memampatkan dokumen dan imej tanpa kehilangan kualiti.
  5. Panggil kaedah Document.Cleanup(). Kod yang terhasil mungkin berbeza bergantung pada format fail input/output.
  6. Dapatkan hasilnya sebagai fail termampat.

C++ perpustakaan untuk mengoptimumkan dan memampatkan 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.

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.