C++ aracılığıyla PDF belgesine Görüntüler ekleyin

C++ Kütüphanesi için Aspose.PDF kullanarak programlı olarak görüntüleri PDF belgesine ekleyin

C++ Kütüphane Kullanarak PDF Belgesine Resim Ekleme

PDF’ye Resim eklemek için cpp platformu için zengin özelliklere sahip, güçlü ve kullanımı kolay bir belge işleme API’si olan C++ için Aspose.PDF API’sini kullanacağız. NuGet paket yöneticisini açın, Aspose.PDF öğesini arayın ve yükleyin. Paket Yöneticisi Konsolu’ndan aşağıdaki komutu da kullanabilirsiniz.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

C++ kullanarak PDF’ye Resim Ekle


Ortamınızdaki kodu denemek için C++ için Aspose.PDF gerekir.

  1. Bir Document nesnesi oluşturun ve giriş PDF belgesini açın.
  2. Resim eklemek istediğiniz sayfayı alın.
  3. Resmi sayfanın Kaynaklar koleksiyonuna ekleyin.
  4. Geçerli grafik durumunu kaydetmek için GSave operatörünü kullanın.
  5. Görüntünün nereye yerleştirileceğini belirtmek için ConcateNateMatrix operatörünü kullanın.
  6. Sayfadaki görüntüyü çizmek için Do operatörünü kullanın.
  7. Güncellenmiş grafik durumunu kaydetmek için GreStore operatörünü kullanın.
  8. PDF dosyasını kaydedin.

PDF belgesine Resim Ekle - C++

Bu örnek kod, Resimlerin PDF sayfasına nasıl ekleneceğini gösterir - 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();