اضافه کردن تصاویر به سند پی دی اف از طریق C++

C++ کتابخانه برای قرار دادن تصاویر به PDF با استفاده از API های خود.

افزودن تصویر به سند پی دی اف با استفاده از C++ کتابخانه

به منظور افزودن تصویر به PDF، از API Aspose.PDF برای C++ استفاده خواهیم کرد که یک API دستکاری اسناد غنی، قدرتمند و آسان برای استفاده برای پلتفرم cpp است. مدیر بسته NuGet را باز کنید، aspose.pdf را جستجو کرده و نصب کنید. شما همچنین می توانید از دستور زیر از کنسول مدیریت بسته استفاده کنید.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

افزودن تصویر به PDF با استفاده از C++


شما نیاز به Aspose.PDF برای C++ به سعی کنید کد در محیط شما.

۱. یک شیء سند ایجاد کنید و سند PDF ورودی را باز کنید. ۱. صفحه ای را که می خواهید یک تصویر اضافه کنید دریافت کنید. ۱. تصویر را به مجموعه منابع صفحه اضافه کنید. ۱. از اپراتور GSave برای ذخیره حالت گرافیکی فعلی استفاده کنید. ۱. از عملگر ConcatenateMatrix برای مشخص کردن محل قرارگیری تصویر استفاده کنید. ۱. از اپراتور Do برای رسم تصویر در صفحه استفاده کنید. ۱. از اپراتور GreStore برای ذخیره حالت گرافیکی به روز شده استفاده کنید. ۱. فایل PDF را ذخیره کنید.

اضافه کردن تصویر به سند پی دی اف - C++

این کد نمونه نشان می دهد که چگونه تصاویر را به 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();