Мы широко используем Excel электронные таблицы для ведения счетов, бухгалтерских книг, инвентаризации, счетов, вычислительных данных и других отчетов. Принимая во внимание, что PDF является наиболее популярным форматом для обмена и печати документов без потери форматирования. В некоторых случаях нам может потребоваться преобразовать Excel в PDF, чтобы поделиться данными Excel в переносимой форме. Мы можем легко программно конвертировать электронные таблицы Excel в документы PDF в облаке. В этой статье мы узнаем, как конвертировать Excel в PDF с помощью PHP.
В этой статье должны быть раскрыты следующие темы:
- Преобразование Excel в PDF REST API и PHP SDK
- Преобразование Excel в PDF с помощью REST API в PHP
- Преобразование определенных электронных таблиц Excel в PDF на PHP
- Преобразование Excel в PDF с водяным знаком
- Преобразование Excel в PDF без использования облачного хранилища
Преобразование Excel в PDF REST API и PHP SDK
Для преобразования XLSX в PDF мы будем использовать API PHP SDK of GroupDocs.Conversion Cloud. Это позволяет нам легко конвертировать документы и изображения любого поддерживаемого формата файлов в любой требуемый формат. Пожалуйста, установите его с помощью следующей команды в консоли:
composer require groupdocscloud/groupdocs-conversion-cloud
После установки используйте autoload 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, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.