Bekerja dengan Gambar dalam dokumen PDF melalui C++

Modern C++ Perpustakaan untuk memanipulasi Gambar dalam PDF menggunakan API kami.

Tambahkan Gambar ke Dokumen PDF Menggunakan C++ Library

Untuk menambahkan Image dalam PDF, kita akan menggunakan Aspose.PDF for C++ API yang merupakan API manipulasi dokumen yang kaya fitur, kuat, dan mudah digunakan untuk platform cpp. Buka manajer paket nuget, cari Aspose.pdf dan instal. Anda juga dapat menggunakan perintah berikut dari Konsol Manajer Paket.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

Tambahkan Gambar ke PDF melalui C++


Anda perlu Aspose.PDF untuk C++ untuk mencoba kode di lingkungan Anda.

  1. Buat objek Dokumen dan buka dokumen PDF masukan.
  2. Dapatkan halaman yang ingin Anda tambahkan gambar.
  3. Tambahkan gambar ke dalam koleksi Resources halaman.
  4. Gunakan operator GSave untuk menyimpan status grafis saat ini.
  5. Gunakan operator ConcateMatrix untuk menentukan di mana gambar yang akan ditempatkan.
  6. Gunakan operator Do untuk menggambar gambar pada halaman.
  7. Gunakan operator GREStore untuk menyimpan status grafis yang diperbarui.
  8. Simpan file PDF.

Tambahkan Gambar di File PDF yang Ada - C++

Example: C++


    String _dataDir("C:\\Samples\\");

    auto document = MakeObject<Document>(_dataDir + u"AddImage.pdf");

    int lowerLeftX = 50;
    int lowerLeftY = 750;
    int upperRightX = 100;
    int upperRightY = 800;

    auto page = document->get_Pages()->idx_get(1);
    auto imageStream = System::IO::File::OpenRead(_dataDir + u"logo.png");

    page->get_Resources()->get_Images()->Add(imageStream);

    page->get_Contents()->Add(MakeObject<Aspose::Pdf::Operators::GSave>());

    auto rectangle = MakeObject<Rectangle>(lowerLeftX, lowerLeftY, upperRightX, upperRightY);

    auto matrix = MakeObject<Matrix>(
        MakeArray<double>({
            rectangle->get_URX() - rectangle->get_LLX(),
            0,                  0,
            rectangle->get_URY() - rectangle->get_LLY(),
            rectangle->get_LLX(), rectangle->get_LLY() }));

    page->get_Contents()->Add(MakeObject<Aspose::Pdf::Operators::ConcatenateMatrix>(matrix));
    auto ximage = page->get_Resources()->get_Images()->idx_get(page->get_Resources()->get_Images()->get_Count());

    page->get_Contents()->Add(MakeObject<Aspose::Pdf::Operators::Do>(ximage->get_Name()));

    page->get_Contents()->Add(MakeObject<Aspose::Pdf::Operators::GRestore>());

    document->Save(_dataDir + u"updated_document.pdf");

    imageStream->Close();