Tambahkan Gambar ke dokumen PDF melalui C++

Menyisipkan gambar ke dokumen PDF secara terprogram menggunakan Aspose.PDF untuk C++ Library

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 menggunakan 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 ke dokumen PDF - C++

Kode contoh ini menunjukkan cara menambahkan Gambar ke halaman PDF - 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();