Skip to content

Instantly share code, notes, and snippets.

@groupdocs-cloud-gists
Last active February 12, 2022 07:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save groupdocs-cloud-gists/b5dd95c5f2f3c1730d36edfbbb3f5ca2 to your computer and use it in GitHub Desktop.
Save groupdocs-cloud-gists/b5dd95c5f2f3c1730d36edfbbb3f5ca2 to your computer and use it in GitHub Desktop.
Convert Excel to PDF using a REST API in PHP

We can easily convert Excel Spreadsheets to PDF documents programmatically on the cloud. In this article, you will learn how to convert Excel Spreadsheets to PDF using a REST API in PHP: https://blog.groupdocs.cloud/2022/02/12/convert-excel-to-pdf-using-php/

The following topics are covered in this article:

  1. Excel to PDF Conversion REST API and PHP SDK
  2. Convert Excel to PDF using a REST API in PHP
  3. Convert Specific Excel Spreadsheets to PDF in PHP
  4. Excel to PDF Conversion with Watermark
  5. Convert Excel to PDF without using Cloud Storage
// This code example demonstrates how to add your client Id and secret in the code.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';
// Intializing the configuration
$configuration = new GroupDocs\Conversion\Configuration();
// Seting the configurations
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);
// This code example demonstrates how to convert Excel to PDF.
// Initialize an instance of the API
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);
// Define convert settings
$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
// Spreadsheet load options
$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
// Assign load options
$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 convert options
$settings->setConvertOptions($convertOptions);
// Create convert document request
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);
// Convert document
$response = $convertApi->convertDocument($request);
// Done
echo "Document converted successfully: ", $response[0]->getUrl();
// This code example demonstrates how to convert specific Excel sheets to PDF.
// Initialize an instance of the API
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);
// Define convert settings
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.xlsx");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedSpecificSheet.pdf");
// Define PDF convert options
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setPages([2, 4]); // Define pages (sheets) to convert
// Assign convert options
$settings->setConvertOptions($convertOptions);
// Create convert document request
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);
// Convert document
$response = $convertApi->convertDocument($request);
// Done
echo "Document converted successfully: ", $response[0]->getUrl();
// This code example demonstrates how to convert Excel to PDF without using cloud storage.
// Initialize an instance of the API
$apiInstance = new GroupDocs\Conversion\ConvertApi($configuration);
// Input file path
$filePath = "C:\\Files\\Conversion\\sample.xlsx";
// Prepare convert document direct request
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentDirectRequest("pdf", $filePath);
// Convert
$result = $apiInstance->convertDocumentDirect($request);
// Done
echo "Document converted: " . $result->getSize();
// This code example demonstrates how to convert Excel to PDF with watermark.
// Initialize an instance of the API
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);
// Define convert settings
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.xlsx");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedWithWatermark.pdf");
// Define watermark
$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);
// Define PDF convert options
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
// Set watermark
$convertOptions->setWatermarkOptions($watermark);
// Assign convert options
$settings->setConvertOptions($convertOptions);
// Create convert document request
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);
// Convert document
$response = $convertApi->convertDocument($request);
// Done
echo "Document converted successfully: ", $response[0]->getUrl();
// This code example demonstrates how to download a PDF file from the cloud.
// Initialize an instance of the API
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);
// Create download file request
$request = new GroupDocs\Conversion\Model\Requests\DownloadFileRequest("convertedExcel.pdf", self::$MyStorage, null);
// Download file
$response = $apiInstance->downloadFile($request);
// This code example demonstrates how to upload an XLSX file to the cloud.
// Initialize an instance of the API
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);
// Input file path
$file = "C:\\Files\\Conversion\\sample.xlsx";
// Create upload file request
$request = new GroupDocs\Conversion\Model\Requests\UploadFileRequest("sample.xlsx", $file, self::$MyStorage, null);
// Upload file
$response = $apiInstance->uploadFile($request);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment