تبدیل Excel به PDF با استفاده از PHP

ما به طور گسترده از اکسل صفحه‌گسترده برای نگهداری صورت‌حساب‌ها، دفتر کل، موجودی، حساب‌ها، داده‌های محاسباتی و گزارش‌های دیگر استفاده می‌کنیم. در حالی که، PDF محبوب ترین قالب برای اشتراک گذاری و چاپ اسناد بدون از دست دادن قالب است. در موارد خاص، ممکن است نیاز به تبدیل اکسل به PDF برای به اشتراک گذاری داده های اکسل به شکل قابل حمل داشته باشیم. ما به راحتی می توانیم صفحات گسترده اکسل را به صورت برنامه ریزی شده در فضای ابری به اسناد PDF تبدیل کنیم. در این مقاله با نحوه تبدیل اکسل به PDF با استفاده از PHP آشنا می شویم.

موضوعات زیر در این مقاله پوشش داده خواهد شد:

تبدیل Excel به PDF REST API و PHP SDK

برای تبدیل XLSX به PDF، از PHP SDK of GroupDocs.Conversion Cloud API استفاده خواهیم کرد. این ما را قادر می‌سازد تا اسناد و تصاویر را از هر فرمت فایل پشتیبانی شده به هر فرمتی که نیاز داریم تبدیل کنیم. لطفا با استفاده از دستور زیر در کنسول آن را نصب کنید:

composer require groupdocscloud/groupdocs-conversion-cloud

پس از نصب، لطفاً از Composers’ autoload برای استفاده از SDK مطابق شکل زیر استفاده کنید:

لطفاً قبل از انجام مراحل ذکر شده [شناسه مشتری و راز خود را از داشبورد 7 دریافت کنید. هنگامی که شناسه و راز خود را دریافت کردید، کد را مطابق شکل زیر اضافه کنید:

// این مثال کد نشان می دهد که چگونه شناسه مشتری و مخفی را در کد اضافه کنید.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// اولیه کردن پیکربندی
$configuration = new GroupDocs\Conversion\Configuration();

// تنظیم تنظیمات
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

اکسل را با استفاده از REST API در PHP به PDF تبدیل کنید

با دنبال کردن مراحل زیر می‌توانیم به راحتی فایل‌های اکسل را به صورت برنامه‌نویسی در فضای ابری به اسناد PDF تبدیل کنیم:

  1. آپلود فایل XLSX را در ابر
  2. تبدیل اکسل به PDF
  3. دانلود فایل PDF تبدیل شده

فایل اکسل را آپلود کنید

ابتدا فایل XLSX را با استفاده از نمونه کد زیر در فضای ابری آپلود می کنیم:

// این مثال کد نحوه آپلود یک فایل XLSX را در فضای ابری نشان می دهد.
// یک نمونه از API را راه اندازی کنید
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

// مسیر فایل ورودی
$file = "C:\\Files\\Conversion\\sample.xlsx";

// درخواست فایل آپلود ایجاد کنید
$request = new GroupDocs\Conversion\Model\Requests\UploadFileRequest("sample.xlsx", $file, self::$MyStorage, null);

// آپلود فایل
$response = $apiInstance->uploadFile($request);

در نتیجه، فایل آپلود شده در بخش فایل ها داشبورد در فضای ابری در دسترس خواهد بود.

تبدیل Excel به PDF در PHP

اکنون، فایل XLSX آپلود شده را با انجام مراحل زیر به سند PDF تبدیل می کنیم:

  1. ابتدا یک نمونه از ConvertApi ایجاد کنید.
  2. سپس، نمونه ConvertSettings را مقداردهی کنید و مسیر فایل XLSX آپلود شده را تنظیم کنید.
  3. سپس “pdf” را به فرمت اختصاص دهید و مسیر فایل خروجی را ارائه دهید.
  4. سپس، SpreadsheetLoadOptions مختلف مانند setOnePagePerSheet و غیره را تنظیم کنید.
  5. به صورت اختیاری، PdfConvertOptions مختلف مانند setCenterWindow، setMarginTop، setMarginLeft و غیره را تنظیم کنید.
  6. پس از آن، ConvertDocumentRequest را با ConvertSettings به عنوان آرگومان ایجاد کنید.
  7. در نهایت با فراخوانی متد ConvertApi.convertDocument() تبدیل کنید.

مثال کد زیر نحوه تبدیل صفحه گسترده اکسل به سند PDF را با استفاده از REST API در PHP نشان می دهد.

// این مثال کد نحوه تبدیل اکسل به PDF را نشان می دهد.
// یک نمونه از API را راه اندازی کنید
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// تنظیمات تبدیل را تعریف کنید
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);    // Storage
$settings->setFilePath("sample.xlsx");          // Input file
$settings->setFormat("pdf");                    // Output format
$settings->setOutputPath("convertedExcel.pdf"); // Output file

// گزینه های بارگیری صفحه گسترده
$loadOptions = new GroupDocs\Conversion\Model\SpreadsheetLoadOptions();		
$loadOptions->setHideComments(true);    // Show hide comments
$loadOptions->setShowGridLines(false);  // Do not Show gridlines
$loadOptions->setOnePagePerSheet(true);	// One sheet per page

// گزینه های بار را تعیین کنید
$settings->setLoadOptions($loadOptions);

$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setCenterWindow(true); // Center window
$convertOptions->setMarginTop(5);       // Top margin
$convertOptions->setMarginLeft(5);      // Left margin
$convertOptions->setRemovePdfaCompliance(false);  // RemovecCompliance

// گزینه های تبدیل Assgin
$settings->setConvertOptions($convertOptions);

// ایجاد درخواست تبدیل سند
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// تبدیل سند
$response = $convertApi->convertDocument($request);
// انجام شده
echo "Document converted successfully: ", $response[0]->getUrl();
اکسل را با استفاده از REST API در PHP به PDF تبدیل کنید

اکسل را با استفاده از REST API در PHP به PDF تبدیل کنید.

فایل تبدیل شده را دانلود کنید

نمونه کد بالا فایل PDF تبدیل شده را در فضای ابری ذخیره می کند. با استفاده از نمونه کد زیر قابل دانلود است:

// این مثال کد نحوه بارگیری یک فایل PDF از ابر را نشان می دهد.
// یک نمونه از API را راه اندازی کنید
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

// درخواست فایل دانلود را ایجاد کنید
$request = new GroupDocs\Conversion\Model\Requests\DownloadFileRequest("convertedExcel.pdf", self::$MyStorage, null);

// دریافت فایل
$response = $apiInstance->downloadFile($request);

تبدیل صفحات گسترده اکسل خاص به PDF در PHP

همچنین می‌توانیم صفحات گسترده اکسل خاص را با دنبال کردن مراحل زیر به یک سند PDF تبدیل کنیم:

  1. ابتدا یک نمونه از ConvertApi ایجاد کنید.
  2. در مرحله بعد، نمونه ConvertSettings را راه اندازی کنید.
  3. سپس، مسیر فایل XLSX آپلود شده را تنظیم کنید.
  4. همچنین “pdf” را به فرمت اختصاص دهید و مسیر فایل خروجی را ارائه دهید.
  5. سپس، شی PdfConvertOptions را مقداردهی اولیه کنید
  6. سپس، نمایه های برگه خاصی را در یک آرایه جدا شده با کاما برای تبدیل ارائه کنید.
  7. پس از آن، ConvertDocumentRequest را با ConvertSettings به عنوان آرگومان ایجاد کنید.
  8. در نهایت با فراخوانی متد ConvertApi.convertDocument() تبدیل کنید.

مثال کد زیر نحوه تبدیل یک صفحه گسترده اکسل خاص به سند PDF را با استفاده از REST API در PHP نشان می دهد. لطفاً برای آپلود و دانلود فایل ها مراحل ذکر شده قبلی را دنبال کنید.

// این مثال کد نحوه تبدیل برگه های اکسل خاص به PDF را نشان می دهد.
// یک نمونه از API را راه اندازی کنید
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// تنظیمات تبدیل را تعریف کنید
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.xlsx");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedSpecificSheet.pdf");

// گزینه های تبدیل PDF را تعریف کنید
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setPages([2, 4]);  // Define pages (sheets) to convert

// گزینه های تبدیل را اختصاص دهید
$settings->setConvertOptions($convertOptions);

// ایجاد درخواست تبدیل سند
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// تبدیل سند
$response = $convertApi->convertDocument($request);
// انجام شده
echo "Document converted successfully: ", $response[0]->getUrl();
تبدیل صفحات گسترده اکسل خاص به PDF در PHP

تبدیل صفحات گسترده اکسل خاص به PDF در PHP.

همچنین می‌توانیم طیف وسیعی از صفحه‌گسترده‌ها را از اکسل به فایل پی‌دی‌اف با دنبال کردن مراحلی که قبلا ذکر شد تبدیل کنیم. با این حال، ما فقط باید محدوده ورق ها را مطابق شکل زیر ذکر کنیم:

$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setFromPage(2);
$convertOptions->setPagesCount(4);

تبدیل اکسل به پی دی اف با واترمارک

ما می توانیم صفحات گسترده اکسل را به یک سند PDF تبدیل کنیم و با دنبال کردن مراحل زیر، یک واترمارک به سند تبدیل شده اضافه کنیم:

  1. ابتدا یک نمونه از ConvertApi ایجاد کنید.
  2. در مرحله بعد، نمونه ConvertSettings را راه اندازی کنید.
  3. سپس، مسیر فایل XLSX آپلود شده را تنظیم کنید.
  4. همچنین “pdf” را به فرمت اختصاص دهید و مسیر فایل خروجی را ارائه دهید.
  5. سپس، آبجکت WatermarkOptions را مقداردهی اولیه کنید و Watermark Text، Color، Width، Height و غیره را تنظیم کنید.
  6. سپس PdfConvertOptions را تعریف کرده و WatermarkOptions را اختصاص دهید.
  7. پس از آن، ConvertDocumentRequest را با ConvertSettings به عنوان آرگومان ایجاد کنید.
  8. در نهایت با فراخوانی روش ConvertApi.convertDocument() تبدیل کنید.

نمونه کد زیر نحوه تبدیل یک صفحه گسترده اکسل به سند PDF و اضافه کردن واترمارک به سند PDF تبدیل شده با استفاده از REST API در PHP را نشان می دهد. لطفاً برای آپلود و دانلود فایل ها مراحل ذکر شده قبلی را دنبال کنید.

// این مثال کد نحوه تبدیل اکسل به PDF را با واترمارک نشان می دهد.
// یک نمونه از API را راه اندازی کنید
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// تنظیمات تبدیل را تعریف کنید
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.xlsx");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedWithWatermark.pdf");

// واترمارک را تعریف کنید
$watermark = new GroupDocs\Conversion\Model\WatermarkOptions();
$watermark->setText("CONFIDENTIAL");
$watermark->setBold(true);
$watermark->setFontSize(44);
$watermark->setColor("Gray");
$watermark->setBackground(false);
$watermark->setRotationAngle(30);
$watermark->setLeft(100);
$watermark->setTop(250);

// تعریف گزینه های تبدیل PDF
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
// تنظیم واترمارک
$convertOptions->setWatermarkOptions($watermark);

// اختصاص گزینه های تبدیل
$settings->setConvertOptions($convertOptions);

// ایجاد درخواست تبدیل سند
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// تبدیل سند
$response = $convertApi->convertDocument($request);
// انجام شده
echo "Document converted successfully: ", $response[0]->getUrl();
تبدیل اکسل به پی دی اف با واترمارک

تبدیل اکسل به پی دی اف با واترمارک

اکسل را بدون استفاده از فضای ذخیره سازی ابری به PDF تبدیل کنید

با دنبال کردن مراحل زیر می‌توانیم اکسل را بدون استفاده از فضای ذخیره‌سازی ابری به PDF تبدیل کنیم:

  • ابتدا یک نمونه از ConvertApi ایجاد کنید.
  • سپس ConvertDocumentDirectRequest را با فرمت هدف و مسیر فایل ورودی به عنوان آرگومان ایجاد کنید.
  • در نهایت، با فراخوانی متد convertDocumentDirect() تبدیل کنید.

نمونه کد زیر نحوه تبدیل یک صفحه گسترده اکسل به سند PDF را بدون استفاده از فضای ذخیره سازی ابری نشان می دهد. فایل ورودی را در بدنه درخواست پاس می کنیم و فایل خروجی را در پاسخ API دریافت می کنیم.

// این مثال کد نحوه تبدیل اکسل به PDF را بدون استفاده از فضای ذخیره سازی ابری نشان می دهد.
// یک نمونه از API را راه اندازی کنید
$apiInstance = new GroupDocs\Conversion\تبدیلApi($configuration);

// مسیر فایل ورودی
$filePath = "C:\\Files\\Conversion\\sample.xlsx";

// درخواست مستقیم سند تبدیل را آماده کنید
$request = new GroupDocs\Conversion\Model\Requests\تبدیلDocumentDirectRequest("pdf", $filePath);

// تبدیل
$result = $apiInstance->convertDocumentDirect($request);

// انجام شده
echo "Document converted: " . $result->getSize();

آنلاین را امتحان کنید

لطفاً ابزار آنلاین رایگان تبدیل XLSX به PDF زیر را که با استفاده از API فوق توسعه یافته است، امتحان کنید. https://products.groupdocs.app/conversion/xlsx-to-pdf

نتیجه

در این مقاله یاد گرفتیم که چگونه:

  • تبدیل Excel به PDF با استفاده از PHP.
  • تبدیل صفحات گسترده اکسل خاص به PDF در PHP.
  • اضافه کردن واترمارک به سند PDF تبدیل شده.
  • تبدیل بدون استفاده از فضای ذخیره سازی ابری؛
  • آپلود فایل XLSX در ابر؛
  • دانلود فایل PDF از ابر.

علاوه بر این، می‌توانید با استفاده از مستندات درباره GroupDocs.Conversion Cloud API اطلاعات بیشتری کسب کنید. ما همچنین یک بخش API Reference ارائه می‌کنیم که به شما امکان می‌دهد APIهای ما را مستقیماً از طریق مرورگر تجسم کرده و با آن‌ها تعامل داشته باشید. در صورت وجود هرگونه ابهام، لطفاً با ما در [تالار] تماس بگیرید17.

همچنین ببینید