Перетворення багатих Word‑документів у готовий для вебу HTML є частою потребою сучасних PHP додатків. GroupDocs.Conversion Cloud SDK for PHP надає потужний API, який виконує важку роботу в хмарі. У цьому підручнику ми демонструємо перетворення DOCX у HTML у PHP за допомогою SDK. Ви дізнаєтеся, як налаштувати бібліотеку, запустити повний приклад коду та виконати те саме перетворення за допомогою викликів cURL.

Як конвертувати DOCX у HTML у PHP - крок за кроком

  1. Встановіть SDK за допомогою Composer: Додайте бібліотеку до вашого проєкту за допомогою офіційної команди Composer.
composer require groupdocs-conversion-cloud
  1. Ініціалізуйте конфігурацію: Створіть об’єкт Configuration і встановіть ваш App SID та App Key.
$config = new GroupDocs\Conversion\Cloud\Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
  1. Налаштування параметрів конвертації HTML: Налаштуйте параметри, такі як витяг зображень та обробка номерів сторінок.
$htmlOptions = new GroupDocs\Conversion\Cloud\Model\HtmlConvertOptions();
$htmlOptions->setExtractImages(true);
$htmlOptions->setPreserveOriginalPageNumbers(false);
$htmlOptions->setZipOutput(false);
$htmlOptions->setShowHiddenText(false);
$htmlOptions->setRenderToSinglePage(false);
  1. Створити параметри конвертації: Визначте вихідний файл, цільовий формат і прикріпіть параметри HTML.
$convertSettings = new GroupDocs\Conversion\Cloud\Model\ConvertSettings();
$convertSettings->setFilePath('sample.docx');
$convertSettings->setOutputPath('output.html');
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);
  1. Виконайте конвертацію: Викличте метод convertDocument і обробіть результат.
$convertApi = new GroupDocs\Conversion\Cloud\Api\ConvertApi($config);
try {
    $result = $convertApi->convertDocument($convertSettings);
    echo "Conversion succeeded. HTML file saved to: " . $result->getPath() . PHP_EOL;
} catch (Exception $e) {
    echo "Conversion failed: " . $e->getMessage() . PHP_EOL;
}

Для отримання докладнішої інформації про кожен клас і метод, зверніться до довідки API.

Повний приклад коду: Генерація HTML з DOCX у PHP

Наступний приклад демонструє повне сквозне перетворення за допомогою SDK.

<?php
require __DIR__ . '/vendor/autoload.php';

use GroupDocs\Conversion\Cloud\Configuration;
use GroupDocs\Conversion\Cloud\Api\ConvertApi;
use GroupDocs\Conversion\Cloud\Model\ConvertSettings;
use GroupDocs\Conversion\Cloud\Model\HtmlConvertOptions;

$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');

$convertApi = new ConvertApi($config);

$inputFilePath  = 'sample.docx';
$outputFilePath = 'output.html';

$htmlOptions = new HtmlConvertOptions();
$htmlOptions->setExtractImages(true);               // extract images to separate files
$htmlOptions->setPreserveOriginalPageNumbers(false);
$htmlOptions->setZipOutput(false);                  // generate plain HTML, not a zip archive
$htmlOptions->setShowHiddenText(false);
$htmlOptions->setRenderToSinglePage(false);

$convertSettings = new ConvertSettings();
$convertSettings->setFilePath($inputFilePath);
$convertSettings->setOutputPath($outputFilePath);
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);

try {
    $result = $convertApi->convertDocument($convertSettings);
    echo "Conversion succeeded. HTML file saved to: " . $result->getPath() . PHP_EOL;
} catch (Exception $e) {
    echo "Conversion failed: " . $e->getMessage() . PHP_EOL;
}

Примітка: Цей приклад коду демонструє основну функціональність. Перш ніж використовувати його у вашому проєкті, переконайтеся, що оновили шляхи до файлів (sample.docx, output.html), щоб вони відповідали фактичним розташуванням ваших файлів, перевірте, чи всі необхідні залежності встановлені правильно, і ретельно протестуйте у вашому середовищі розробки. Якщо ви зіткнетеся з будь‑якими проблемами, будь ласка, зверніться до офіційної документації або до команди підтримки за допомогою.

Конвертування файлів DOCX у HTML за допомогою cURL та REST API

SDK також пропонує REST‑endpoint, який можна викликати за допомогою cURL. Нижче наведено типовий робочий процес.

  1. Отримати токен доступу
    Замініть YOUR_CLIENT_ID та YOUR_CLIENT_SECRET вашими обліковими даними.

    curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
         -H "Content-Type: application/json" \
         -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
    
  2. Завантажте файл DOCX
    Використайте токен з попереднього кроку.

    curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/storage/file/sample.docx" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@sample.docx"
    
  3. Почати конвертацію
    Запит на конвертацію у HTML.

curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "filePath": "sample.docx",
           "outputPath": "output.html",
           "format": "html",
           "options": {
               "extractImages": true,
               "zipOutput": false
           }
         }'
  1. Завантажте отриманий HTML
    curl -X GET "https://api.groupdocs.cloud/v2.0/conversion/storage/file/output.html" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -o output.html
    

Для повного списку параметрів перегляньте офіційну документацію API.

Встановлення та налаштування GroupDocs.Conversion Cloud SDK для PHP

composer require groupdocs-conversion-cloud

Завантажте останній пакет зі сторінки випуску. SDK вимагає PHP 7.4 або новішої версії та активний обліковий запис GroupDocs Cloud з дійсними обліковими даними.

require __DIR__ . '/vendor/autoload.php';

use GroupDocs\Conversion\Cloud\Configuration;

$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');   // obtain from your GroupDocs Cloud dashboard
$config->setAppKey('YOUR_APP_KEY');

GroupDocs.Conversion Cloud SDK for PHP Можливості для DOCX у HTML

  • Видобуток зображень - extractImages дозволяє витягувати вбудовані зображення у окремі файли, зберігаючи точність макету.
  • Керування номерами сторінок - preserveOriginalPageNumbers можна вимкнути, щоб отримати безперервний потік HTML.
  • Простий HTML‑вивід - Встановлення zipOutput у false створює один HTML‑файл замість архіву ZIP , спрощуючи подальшу обробку.
  • Обробка прихованого тексту - showHiddenText визначає, чи буде прихований вміст відображатися у фінальному HTML.
  • Відображення в один сторінку - renderToSinglePage може об’єднати всі сторінки в один HTML‑документ для простішого вбудовування.

Усі функції описані в документації.

Висновок

Перетворення DOCX у HTML у PHP стає простим завдяки GroupDocs.Conversion Cloud SDK for PHP. Бібліотека обробляє складне форматування, витяг зображень та управління сторінками без необхідності встановлення Microsoft Office на сервері. Після виконання наведених вище кроків ви можете інтегрувати перетворення DOCX у HTML у будь‑який PHP‑орієнтований робочий процес, незалежно від того, чи віддаєте перевагу викликам нативного SDK чи RESTful cURL‑запитам. Не забудьте отримати належну ліцензію для використання у продакшн‑середовищі; деталі цін доступні на сторінці тимчасової ліцензії. Почніть конвертувати вже сьогодні і надайте своїм користувачам багатий, готовий до вебу контент.

Питання та відповіді

  • Як реалізувати перетворення DOCX у HTML у PHP без встановлення додаткового програмного забезпечення?
    Хмарний SDK виконує всю обробку на серверах GroupDocs, тому вам потрібна лише бібліотека PHP та ваші облікові дані.

  • Чи можу я конвертувати кілька DOCX файлів в одному запиті?
    API підтримує пакетне конвертування шляхом перебору файлів у вашому коді; кожен виклик повертає свій власний HTML результат.

  • Що відбувається з зображеннями всередині файлу DOCX?
    При увімкненому extractImages зображення зберігаються як окремі файли та посилаються у згенерованому HTML, що дозволяє подавати їх безпосередньо.

  • Чи є спосіб налаштувати згенерований макет HTML?
    Ви можете пост‑обробляти вихідний HTML або налаштувати параметри конвертації, такі як renderToSinglePage, щоб вплинути на структуру.

Читати далі