C++ aracılığıyla PDF belgesinde Görüntüler ile çalışma

Modern C++ API’lerimizi kullanarak PDF’deki Görüntüleri işlemek için kütüphane.

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++ aracılığıyla 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.

Mevcut PDF Dosyasına Resim Ekle - 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();