Преобразование Excel в PDF с помощью PHP

Мы широко используем Excel электронные таблицы для ведения счетов, бухгалтерских книг, инвентаризации, счетов, вычислительных данных и других отчетов. Принимая во внимание, что PDF является наиболее популярным форматом для обмена и печати документов без потери форматирования. В некоторых случаях нам может потребоваться преобразовать Excel в PDF, чтобы поделиться данными Excel в переносимой форме. Мы можем легко программно конвертировать электронные таблицы Excel в документы PDF в облаке. В этой статье мы узнаем, как конвертировать Excel в PDF с помощью PHP.

В этой статье должны быть раскрыты следующие темы:

Преобразование 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 программно в облаке, выполнив следующие шаги:

  1. Загрузить файл XLSX в облако
  2. Конвертировать Excel в PDF
  3. Скачать преобразованный 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, выполнив следующие действия:

  1. Во-первых, создайте экземпляр ConvertApi.
  2. Затем инициализируйте экземпляр ConvertSettings и задайте путь к загруженному файлу XLSX.
  3. Затем назначьте формат «pdf» и укажите путь к выходному файлу.
  4. Затем установите различные параметры SpreadsheetLoadOptions, такие как setOnePagePerSheet и т. д.
  5. При желании установите различные PdfConvertOptions, такие как setCenterWindow, setMarginTop, setMarginLeft и т. д.
  6. После этого создайте ConvertDocumentRequest с ConvertSettings в качестве аргумента.
  7. Наконец, конвертируйте, вызвав метод 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();
Преобразование Excel в PDF с помощью REST API в PHP

Преобразование Excel в PDF с помощью REST API в PHP.

Загрузите преобразованный файл

Приведенный выше пример кода сохранит преобразованный 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, выполнив следующие действия:

  1. Во-первых, создайте экземпляр ConvertApi.
  2. Затем инициализируйте экземпляр ConvertSettings.
  3. Затем укажите путь к загруженному файлу XLSX.
  4. Также назначьте формат «pdf» и укажите путь к выходному файлу.
  5. Затем инициализируйте объект PdfConvertOptions.
  6. Затем укажите конкретные индексы листов в массиве с разделителями-запятыми для преобразования.
  7. После этого создайте ConvertDocumentRequest с ConvertSettings в качестве аргумента.
  8. Наконец, конвертируйте, вызвав метод 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 в PHP

Преобразование определенных электронных таблиц Excel в PDF в PHP.

Мы также можем преобразовать ряд электронных таблиц из Excel в файл PDF, выполнив шаги, упомянутые ранее. Однако нам просто нужно упомянуть диапазон листов, как показано ниже:

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

Преобразование Excel в PDF с водяным знаком

Мы можем преобразовать электронные таблицы Excel в документ PDF и добавить водяной знак в преобразованный документ, выполнив следующие действия:

  1. Во-первых, создайте экземпляр ConvertApi.
  2. Затем инициализируйте экземпляр ConvertSettings.
  3. Затем укажите путь к загруженному файлу XLSX.
  4. Также назначьте формат «pdf» и укажите путь к выходному файлу.
  5. Затем инициализируйте объект WatermarkOptions и задайте текст водяного знака, цвет, ширину, высоту и т. д.
  6. Затем определите PdfConvertOptions и назначьте WatermarkOptions.
  7. После этого создайте ConvertDocumentRequest с ConvertSettings в качестве аргумента.
  8. Наконец, конвертируйте, вызвав метод 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 с водяным знаком.

Преобразование 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 и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также