JPG به PDF

آموزش تبدیل JPG به PDF در پایتون

تصاویر JPG یا JPEG از جمله تصاویر شطرنجی محبوب هستند زیرا از یک الگوریتم فشرده سازی پیچیده استفاده می کنند که کاربران را قادر می سازد تا گرافیک های کوچکتری ایجاد کنند. اکثر دستگاه ها از جمله دسکتاپ، موبایل و سایر دستگاه های دستی از تصاویر JPG پشتیبانی می کنند. حال اگر نیاز به اشتراک گذاری تصاویر انبوه داشته باشیم، تبدیل JPG به PDF راه حل مناسبی به نظر می رسد. در این مقاله قصد داریم جزئیات نحوه تبدیل JPG به PDF در پایتون را بررسی کنیم.

اخیراً یک سرویس رایگان Text to GIF ایجاد کرده ایم که می توانید از آن برای ایجاد انیمیشن های جالب از متون ساده استفاده کنید.

API تبدیل JPG به PDF

دامنه این مقاله به زبان پایتون محدود می‌شود، بنابراین ما بر استفاده از Aspose.PDF Cloud SDK برای پایتون تأکید می‌کنیم. این یک بسته بندی در اطراف Cloud REST API است و شما را قادر می سازد تا تمام قابلیت های پردازش فایل PDF را در برنامه های پایتون انجام دهید. این قابلیت ها را برای ایجاد، ویرایش و تبدیل فایل های PDF به [فرمت های پشتیبانی شده] مختلف فراهم می کند. همچنین می‌توانید فایل‌های مختلفی از جمله EPUB، PS، SVG، XPS، JPEG و غیره را بارگیری کنید و آنها را به PDF تبدیل کنید.

اکنون اولین مرحله نصب SDK است که برای دانلود از طریق مخزن PIP و GitHub در دسترس است. لطفاً دستور زیر را در ترمینال/خط فرمان اجرا کنید تا آخرین نسخه SDK را روی سیستم نصب کنید.

 pip install asposepdfcloud

پس از نصب، گام مهم بعدی اشتراک رایگان خدمات ابری ما از طریق Aspose.Cloud dashboard است. هدف از این اشتراک این است که فقط به افراد مجاز اجازه دسترسی به خدمات پردازش فایل ما را بدهد. اگر حساب GitHub یا Google دارید، به سادگی ثبت نام کنید یا روی دکمه Create a new Account کلیک کنید.

تبدیل JPG به PDF در پایتون

تبدیل با استفاده از قطعه کد پایتون بسیار مفید است. لطفا مراحل تعریف شده در زیر را برای انجام این نیاز دنبال کنید.

  • ابتدا یک نمونه از کلاس ApiClient ایجاد کنید و در عین حال Client ID و Client Secret را به عنوان آرگومان ارائه دهید
  • در مرحله دوم، یک شی از کلاس PdfApi ایجاد کنید که شی ApiClient را به عنوان آرگومان ورودی دریافت کند
  • ثالثاً، یک نمونه از کلاس ImageTemplatesRequest ایجاد کنید که در آن نام تصویر منبع و ویژگی های مرتبط مانند عرض، ارتفاع، جزئیات حاشیه را تعریف کنیم.
  • در نهایت، متد putimageinstoragetopdf(..) کلاس PdfApi را برای انجام تبدیل فراخوانی کنید.
# دریافت اعتبار مشتری از https://dashboard.aspose.cloud/

def image2PDF():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # هنگام ارسال PdfApiClient به عنوان آرگومان، نمونه PdfApi ایجاد کنید
        pdf_api = PdfApi(pdf_api_client)

        #source image file
        input_file = 'source.jpg'

        #resultant PDF document
        resultant_file = 'Resultant.pdf'

        image_templates_details = asposepdfcloud.ImageTemplatesRequest
        {
            "IsOCR": True,
            "OCRLangs": "eng",
            "ImagesList": [
            {
                "ImagePath": input_file,
                "ImageSrcType": "ImageSrcType.Common",
                "LeftMargin": 10,
                "RightMargin": 10,
                "TopMargin": 10,
                "BottomMargin": 10,
                "PageWidth": 800,
                "PageHeight": 1000,
                "MarginInfo": {
                    "Left": 10,
                    "Right": 10,
                    "Top": 10,
                    "Bottom": 10
                  }
            }
            ]
        }
        
        # برای تبدیل تصویر به فرمت PDF با API تماس بگیرید
        response = pdf_api.put_image_in_storage_to_pdf(name=resultant_file, image_templates= image_templates_details)

        # چاپ پیام در کنسول (اختیاری)
        print('Image successfully converted to PDF format !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

در صورتی که نیاز به تبدیل بیش از یک تصویر در یک تماس داشته باشیم، لطفاً نمونه های بیشتری از ImagesList را در شی ImageTemplatesRequest مشخص کنید.

پیش نمایش تبدیل JPG به PDF

تصویر 1: - پیش نمایش تبدیل JPG به PDF.

JPG به PDF با استفاده از دستورات cURL

دستورات cURL یک راه راحت برای دسترسی به API های REST از طریق ترمینال خط فرمان فراهم می کند. از آنجایی که Aspose.PDF Cloud بر اساس معماری REST توسعه یافته است، بنابراین ما می توانیم از طریق دستورات cURL نیز به آن دسترسی داشته باشیم. اکنون اولین قدم این است که یک رمز وب JSON (JWT) بر اساس اعتبار مشتری شخصی خود ایجاد کنید. بنابراین لطفا دستور زیر را برای تولید توکن JWT اجرا کنید.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

هنگامی که توکن JWT تولید شد، لطفاً از دستور cURL زیر برای تبدیل فرمت JPG به PDF استفاده کنید. سپس فایل حاصل در فضای ذخیره سازی ابری آپلود می شود.

curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/Resultant.pdf/create/images" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"IsOCR\": true,  \"OCRLangs\": \"eng\",  \"ImagesList\": [    {      \"ImagePath\": \"source.jpg\",      \"ImageSrcType\": \"Common\",      \"LeftMargin\": 10,      \"RightMargin\": 10,      \"TopMargin\": 10,      \"BottomMargin\": 10,      \"PageWidth\": 800,      \"PageHeight\": 1000,      \"MarginInfo\": {        \"Left\": 10,        \"Right\": 10,        \"Top\": 10,        \"Bottom\": 10      }    }  ]}"

برای مرجع شما، فایل JPG منبع و یک سند PDF حاصل از روی source.jpg و Image2PDF-Resultant.pdf آپلود شده است.

نتیجه

در این مقاله به مراحل تبدیل JPG به PDF با استفاده از پایتون پرداخته ایم. در حالی که همان دستورالعمل ها را دنبال می کنیم، می توانیم تصاویر PNG، BMP و GIF را نیز به PDF تبدیل کنیم. همچنین با روش تبدیل JPG به PDF با استفاده از دستورات cURL آشنا شده ایم. با این وجود، Cloud SDK های ما تحت مجوز MIT توسعه یافته اند، بنابراین قطعه کد کامل آنها برای دانلود رایگان از طریق GitHub در دسترس است.

اگر سؤالات مرتبطی دارید یا هنگام استفاده از API های ما با مشکلی مواجه شدید، لطفاً از طریق تالار گفتمان پشتیبانی رایگان مشتری با ما تماس بگیرید.

مقالات مرتبط

همچنین توصیه می کنیم برای کسب اطلاعات بیشتر به لینک های زیر مراجعه کنید