Ми широко використовуємо електронні таблиці Excel для ведення рахунків-фактур, бухгалтерських книг, інвентаризації, облікових записів, обчислювальних даних та інших звітів. Тоді як PDF є найпопулярнішим форматом для спільного використання та друку документів без втрати форматування. У деяких випадках нам може знадобитися конвертувати Excel у PDF, щоб надати доступ до даних Excel у переносній формі. Ми можемо легко програмно конвертувати електронні таблиці Excel у PDF-документи в хмарі. У цій статті ми дізнаємося, як конвертувати Excel у PDF за допомогою PHP.
У цій статті будуть розглянуті такі теми:
- API REST для перетворення Excel у PDF і PHP SDK
- Конвертуйте Excel у PDF за допомогою REST API у PHP
- Перетворення певних електронних таблиць Excel на PDF у PHP
- Перетворення Excel у PDF із водяним знаком
- Перетворіть Excel у PDF без використання хмарного сховища
API REST для перетворення Excel у PDF і PHP SDK
Для перетворення XLSX у PDF ми будемо використовувати PHP SDK GroupDocs.Conversion Cloud API. Це дозволяє нам легко конвертувати документи та зображення будь-якого підтримуваного формату файлу у будь-який потрібний формат. Встановіть його за допомогою такої команди в консолі:
composer require groupdocscloud/groupdocs-conversion-cloud
Після інсталяції використовуйте автозавантаження Composers, щоб використовувати SDK, як показано нижче:
Будь ласка, отримайте свій ідентифікатор клієнта та секрет на інформаційній панелі, перш ніж виконувати вказані дії. Отримавши ідентифікатор і секрет, додайте код, як показано нижче:
// Цей приклад коду демонструє, як додати ідентифікатор клієнта та секрет у код.
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);
Перетворіть Excel у PDF за допомогою REST API у PHP
Ми можемо легко програмно конвертувати файли Excel у PDF-документи в хмарі, виконавши наведені нижче дії.
- Завантажте файл XLSX у хмару
- Перетворення Excel на PDF
- Завантажити конвертований PDF-файл
Завантажте файл Excel
По-перше, ми завантажимо файл 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, виконавши наведені нижче дії.
- По-перше, створіть екземпляр ConvertApi.
- Далі ініціалізуйте екземпляр ConvertSettings і встановіть шлях до завантаженого файлу XLSX.
- Потім призначте «pdf» формату та вкажіть шлях до вихідного файлу.
- Далі встановіть різні параметри SpreadsheetLoadOptions, наприклад setOnePagePerSheet тощо.
- За бажанням установіть різні параметри PdfConvertOptions, наприклад setCenterWindow, setMarginTop, setMarginLeft тощо.
- Після цього створіть ConvertDocumentRequest з ConvertSettings як аргумент.
- Нарешті, перетворіть, викликавши метод ConvertApi.convertDocument().
У наведеному нижче прикладі коду показано, як конвертувати електронну таблицю Excel у PDF-документ за допомогою REST API у PHP.
// Цей приклад коду демонструє, як конвертувати Excel у 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();
Завантажте конвертований файл
Наведений вище зразок коду збереже перетворений 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);
Перетворюйте певні електронні таблиці Excel у PDF у PHP
Ми також можемо конвертувати певні електронні таблиці Excel у PDF-документ, виконавши наведені нижче дії.
- По-перше, створіть екземпляр ConvertApi.
- Далі ініціалізуйте екземпляр ConvertSettings.
- Потім установіть шлях до завантаженого файлу XLSX.
- Також призначте «pdf» формату та вкажіть шлях до вихідного файлу.
- Далі ініціалізуйте об’єкт PdfConvertOptions
- Потім укажіть певні індекси аркушів у масиві, розділеному комами, для перетворення.
- Після цього створіть ConvertDocumentRequest з ConvertSettings як аргумент.
- Нарешті, конвертуйте, викликавши метод ConvertApi.convertDocument().
У наведеному нижче прикладі коду показано, як перетворити певні електронні таблиці Excel у PDF-документ за допомогою REST API у PHP. Будь ласка, виконайте кроки, згадані раніше, щоб завантажити та завантажити файли.
// Цей приклад коду демонструє, як конвертувати певні аркуші Excel у 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();
Ми також можемо конвертувати ряд електронних таблиць із Excel у файл PDF, виконавши кроки, згадані раніше. Однак нам просто потрібно згадати діапазон аркушів, як показано нижче:
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setFromPage(2);
$convertOptions->setPagesCount(4);
Перетворення Excel у PDF із водяним знаком
Ми можемо конвертувати електронні таблиці Excel у PDF-документ і додати водяний знак до перетвореного документа, виконавши наведені нижче дії.
- По-перше, створіть екземпляр ConvertApi.
- Далі ініціалізуйте екземпляр ConvertSettings.
- Потім установіть шлях до завантаженого файлу XLSX.
- Також призначте «pdf» формату та вкажіть шлях до вихідного файлу.
- Потім ініціалізуйте об’єкт WatermarkOptions і встановіть текст водяного знака, колір, ширину, висоту тощо.
- Потім визначте PdfConvertOptions і призначте WatermarkOptions.
- Після цього створіть ConvertDocumentRequest з ConvertSettings як аргумент.
- Нарешті, перетворіть, викликавши метод ConvertApi.convertDocument().
У наведеному нижче прикладі коду показано, як перетворити електронну таблицю Excel на PDF-документ і додати водяний знак до перетвореного PDF-документа за допомогою REST API у PHP. Будь ласка, виконайте кроки, згадані раніше, щоб завантажити та завантажити файли.
// Цей приклад коду демонструє, як конвертувати Excel у 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();
Перетворіть Excel у PDF без використання хмарного сховища
Ми можемо конвертувати Excel у PDF без використання хмарного сховища, виконавши наведені нижче дії.
- По-перше, створіть екземпляр ConvertApi.
- Далі створіть ConvertDocumentDirectRequest із цільовим форматом і шляхом до вхідного файлу як аргументами.
- Нарешті, перетворіть, викликавши метод convertDocumentDirect().
У наведеному нижче прикладі коду показано, як перетворити електронну таблицю Excel на документ PDF без використання хмарного сховища. Ми передаємо вхідний файл у тіло запиту та отримуємо вихідний файл у відповідь API.
// Цей приклад коду демонструє, як конвертувати Excel у 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;
- конвертувати певні електронні таблиці Excel у PDF на PHP;
- додати водяний знак до конвертованого документа PDF;
- конвертувати без використання хмарного сховища;
- завантажити файл XLSX у хмару;
- завантажити файл PDF із хмари.
Крім того, ви можете дізнатися більше про GroupDocs.Conversion Cloud API за допомогою документації. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-якої неясності зв’яжіться з нами на форумі.