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

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

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

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

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

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


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

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

اضافه کردن تصویر در یک فایل پی دی اف موجود - 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();