(PNG) (گرافیک شبکه قابل حمل) و PDF(قالب سند قابل حمل) اهداف مشخصی در دنیای دیجیتال دارد. PNG به دلیل پشتیبانی از فشرده سازی و شفافیت بدون تلفات، به طور گسترده برای تصاویر با کیفیت بالا استفاده می شود، که آن را برای طراحی وب، ایجاد گرافیک و محتوای بصری دقیق ایده آل می کند. از سوی دیگر، PDF یک فرمت جهانی برای به اشتراک گذاری و بایگانی اسناد است که از سازگاری طرح در بین دستگاه ها اطمینان می دهد. تبدیل PNG به PDF یک فرآیند مفید برای ایجاد کامپایل، تولید گزارش های حرفه ای است
API تبدیل تصویر
Aspose.Imaging Cloud REST API اختصاصی ما است که برای تسهیل مشتریانی که به دنبال قابلیتهای پردازش و دستکاری تصویر در Cloud هستند، توسعه یافته است. میتوانید عملیاتی مانند تغییر اندازه تصویر، برش، چرخش، مقیاسگذاری، چرخاندن، جستجو، صادرات به دیگر [فرمتهای فایل پشتیبانی شده] را انجام دهید. اکنون، طبق این مقاله، ما قصد داریم از Aspose.Imaging Cloud SDK برای دات نت استفاده کنیم که پوششی در اطراف Aspose.Imaging Cloud است.
نصب و راه اندازی
NET Cloud SDK برای دانلود از طریق NuGet و GitHub در دسترس است. لطفاً برای نصب SDK از طریق NuGet دستور زیر را در ترمینال اجرا کنید:
nuget install Aspose.Imaging-Cloud
در صورت نیاز به نصب از NuGet Package Manager، لطفا دستور زیر را اجرا کنید
PM> Install-Package Aspose.Imaging-Cloud
در ویژوال استودیو نصب کنید
روش دیگر نصب مستقیم در ویژوال استودیو است:
- Solution Explorer را باز کنید.
- پروژه را گسترش دهید و روی پوشه Packages در راه حل خود کلیک راست کنید.
- گزینه Manage NuGet Packages… را انتخاب کنید.
- روی تب Browse کلیک کنید و “Aspose.Imaging-Cloud” را جستجو کنید.
- روی کادر کنار بسته Aspose.Imaging-Cloud کلیک کنید، نسخه مناسب را در برگه سمت راست انتخاب کنید و روی دکمه Add Package کلیک کنید.
اشتراک در ابر
مرحله بعدی ایجاد یک حساب اشتراک رایگان با مراجعه به Aspose.Cloud dashboard است. اگر یک حساب GitHub یا Google دارید، به سادگی ثبت نام کنید. در غیر این صورت بر روی دکمه Create a new Account کلیک کرده و اطلاعات مورد نیاز را ارائه دهید.
تبدیل PNG به PDF
برای تبدیل یک تصویر PNG به فرمت PDF، ممکن است از یکی از دو API زیر برای انجام این نیاز استفاده کنیم:
GET API از شما انتظار دارد ابتدا یک تصویر را در فضای ذخیره سازی ابری آپلود کنید و سپس تبدیل را انجام دهید. در حالی که API دوم از شما می خواهد که مستقیماً تصویر را در بدنه درخواست ارسال کنید و خروجی نهایی در فضای ذخیره سازی ابری ذخیره می شود.
بارگیری PNG از فضای ذخیرهسازی ابری
مراحل زیر مشخص می کند که چگونه می توانیم ابتدا یک تصویر را در فضای ذخیره سازی ابری آپلود کنیم و سپس تبدیل را انجام دهیم. اگر از روال بارگذاری تصویر صرف نظر کنیم، میتوانیم هر تصویر موجود در فضای ذخیرهسازی ابری را با همان قطعه کد به فرمت PDF تبدیل کنیم.
- ابتدا باید یک شی ImagingApi ایجاد کنیم، در حالی که Client ID و Client Secret جزئیات را به عنوان آرگومان ارسال می کنیم.
- در مرحله دوم، تصویر PNG را از درایو محلی بارگیری کنید و آن را به عنوان آرگومان به شی UploadFileRequest ارسال کنید.
- ثالثاً، روش UploadFile(…) ImagingApi را برای آپلود فایل در فضای ذخیرهسازی ابری فراخوانی کنید (اگر تصویر از قبل در فضای ذخیرهسازی ابری موجود است، میتوانید از این مرحله رد شوید).
- یک نمونه از کلاس ConvertImageRequest ایجاد کنید که نام تصویر و فرمت خروجی حاصل را به عنوان آرگومان می گیرد. نام پوشه و فضای ذخیره سازی اختیاری است.
- اکنون متد ConvertImage(…) کلاس ImagingApi را برای شروع تبدیل فراخوانی کنید.
- در نهایت، از آنجایی که پاسخ حاوی یک تصویر استریم شده است، بنابراین میتوانیم s را با استفاده از File.Create در یک درایو محلی ذخیره کنیم (روش در زیر نشان داده شده است).
// ClientID را از https://dashboard.aspose.cloud/ دریافت کنید
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// مسیر فایل PNG ورودی
string imageFile = "poodle.png";
// فرمت فایل خروجی
string format = "pdf";
// نام سند پی دی اف حاصل
string resultantFile = "resultant.pdf";
// فایل را از درایو محلی بارگیری کنید
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
var uploadFileRequest = new UploadFileRequest(imageFile, file);
// سند اصلی را در Cloud Storage بارگذاری کنید
imagingApi.UploadFile(uploadFileRequest);
}
try
{
// ImageRequest ایجاد کنید
var request = new ConvertImageRequest(imageFile, format, null, null);
// عملیات تبدیل را آغاز کنید
Stream updatedImage = imagingApi.ConvertImage(request);
// پیام موفقیت چاپ در صورت موفقیت آمیز بودن تبدیل
if (request != null && request.Equals("OK"))
{
Console.WriteLine("The PNG successfully converted to PDF !");
}
// متد را برای ذخیره خروجی روی درایو سیستم فراخوانی کنید
saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// روش سفارشی برای ذخیره شی steam به عنوان نمونه فایل
public static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
PNG را از Local Drive بارگیری کنید
در بخش زیر، ما قصد داریم از CreateConvertedImage API برای تبدیل تصویری که مستقیماً در بدنه درخواست ارسال شده است استفاده کنیم.
- اولین قدم ایجاد یک شی ImagingApi است که شناسه مشتری و جزئیات Client Secret را به عنوان آرگومان می گیرد.
- در مرحله دوم، تصویر PNG را از درایو محلی با استفاده از شی File.OpenRead بخوانید.
- سوم، شی ConvertedImageRequest ایجاد کنید که ImageStream و فرمت خروجی را به عنوان آرگومان می گیرد.
- سپس برای انجام عملیات تبدیل، متد CreateConvertedImage(…) ImagingApi را فراخوانی کنید.
- در نهایت، PDF حاصل را با استفاده از شی File.Create ذخیره کنید.
// ClientID را از https://dashboard.aspose.cloud/ دریافت کنید
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// مسیر فایل PNG ورودی
string imageFile = "poodle.png";
// فرمت فایل خروجی
string format = "pdf";
// نام سند پی دی اف حاصل
string resultantFile = "resultant.pdf";
try
{
using (var imageStream = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
var request = new CreateConvertedImageRequest(imageStream, format, null, null);
Stream updatedImage = imagingApi.CreateConvertedImage(request);
if (request != null && request.Equals("OK"))
{
Console.WriteLine("PNG successfully converted to PDF !");
}
// تصویر به روز شده را در حافظه محلی ذخیره کنید
using (var fileStream = File.Create("/Users/nshahbaz/Desktop/" + resultantFile))
{
updatedImage.Seek(0, SeekOrigin.Begin);
updatedImage.CopyTo(fileStream);
}
}
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
میتوانید ورودی poodle.png را دانلود کنید و resultant.pdf را برای اهداف آزمایشی تبدیل کنید.
PNG به PDF آنلاین با استفاده از دستورات cURL
API های ما نیز از طریق دستورات cURL قابل دسترسی هستند، بنابراین ما می خواهیم PNG را با استفاده از دستورات cURL به PDF تبدیل کنیم. بنابراین ابتدا باید یک نشانه دسترسی JWT بر اساس Client ID و جزئیات Client Secret ایجاد کنیم.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
پس از تولید رمز دسترسی، لطفاً دستور زیر را برای تبدیل یک تصویر PNG موجود در فضای ذخیره سازی ابری به فرمت PDF اجرا کنید. سپس PDF خروجی در یک درایو محلی ذخیره می شود.
curl -X GET "https://api.aspose.cloud/v3.0/imaging/poodle.png/convert?format=pdf" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o /Users/nshahbaz/Desktop/myResultant.pdf
تبدیل رایگان PNG به PDF
برای اینکه شاهد قابلیتهای شگفتانگیز Cloud API برای تبدیل تصویر PNG به PDF باشید، میتوانید از برنامه [مبدل آنلاین رایگان PNG به Acrobat 3D PDF19 ما استفاده کنید.
نتیجه گیری
در این مقاله به بررسی قابلیت های Aspose.Imaging Cloud برای تبدیل PNG به فرمت PDF پرداخته ایم. ما همچنین مشاهده کردهایم که تبدیل را میتوان با استفاده از .NET Cloud SDK و همچنین دستور cURL انجام داد. ما همچنین Swagger UI را ارائه کردهایم تا بتوانید REST API را مستقیماً در مرورگر آزمایش کنید.
همچنین، لطفاً توجه داشته باشید که Cloud SDK تحت مجوز MIT توزیع شده و کد منبع کامل آن برای دانلود از طریق GitHub در دسترس است. در صورتی که هنگام استفاده از API با مشکلی مواجه شدید یا سؤالی داشتید، لطفاً از طریق [تالار گفتمان پشتیبانی رایگان محصول18 با ما تماس بگیرید.
مقالات مرتبط
همچنین توصیه می کنیم برای کسب اطلاعات بیشتر به لینک های زیر مراجعه کنید: