Відображення документа Word на сторінці HTML за допомогою PHP.

Ми можемо легко відобразити файли DOC або DOCX на веб-сторінках HTML програмним шляхом у хмарі. Це може бути корисним для перегляду документів Word у будь-якому браузері без надання спільного доступу до оригінальних файлів. У цій статті ми дізнаємося, як відобразити документ Word на сторінці HTML за допомогою REST API у PHP.

У цій статті будуть розглянуті такі теми:

Word to HTML Viewer REST API та PHP SDK

Для відтворення документів Word у HTML ми будемо використовувати PHP SDK GroupDocs.Viewer Cloud API. Це дозволяє програмно відтворювати та переглядати підтримувані формати файлів документів і зображень. Встановіть його за допомогою такої команди в консолі:

composer require groupdocscloud/groupdocs-viewer-cloud

Після інсталяції використовуйте автозавантаження Composers, щоб використовувати SDK, як показано нижче:

require_once('vendor/autoload.php');

Будь ласка, отримайте свій ідентифікатор клієнта та секрет із інформаційної панелі, перш ніж виконувати вказані дії. Отримавши ідентифікатор і секрет, додайте код, як показано нижче:

// Цей приклад коду демонструє, як додати ідентифікатор і секрет клієнта в код.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// Ініціалізація конфігурації
$configuration = new GroupDocs\Viewer\Configuration();

// Налаштування конфігурацій
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Відображення документа Word на сторінці HTML за допомогою REST API у PHP

Ми можемо відобразити вміст документа Word у HTML, виконавши прості кроки, наведені нижче:

  1. Завантажте файл DOCX у хмару
  2. Відобразити документ Word на сторінці HTML
  3. Завантажити відтворений файл

Завантажте документ

По-перше, ми завантажимо файл DOCX у хмару за допомогою зразка коду, наведеного нижче:

// Цей приклад коду демонструє, як завантажити файл DOCX у хмару.
// Ініціалізувати API
$apiInstance = new GroupDocs\Viewer\FileApi($configuration);

// Вхідний шлях до файлу
$file = "C:\\Files\\Viewer\\input.docx";

// Запит на завантаження файлу
$request = new GroupDocs\Viewer\Model\Requests\uploadFileRequest("input.docx", $file);

// Завантажити файл
$response = $apiInstance->uploadFile($request);

У результаті завантажений файл буде доступний у розділі файлів інформаційної панелі в хмарі.

Відображення документа Word на сторінці HTML за допомогою PHP

Тепер ми відтворимо або відобразимо вміст завантаженого документа Word на сторінках HTML, виконавши наведені нижче дії.

  1. По-перше, створіть екземпляр ViewAPI.
  2. Далі створіть екземпляр ViewOptions.
  3. Потім укажіть шлях до вхідного файлу.
  4. Також встановіть ViewFormat як «HTML».
  5. Далі ініціалізуйте об’єкт HtmlOptions.
  6. Потім установіть різні властивості, наприклад IsResponsive, ForPrinting тощо.
  7. Після цього створіть CreateViewRequest з ViewOptions як аргумент.
  8. Нарешті, перетворіть Word у HTML за допомогою методу createView().

У наведеному нижче прикладі коду показано, як відобразити файл Word у HTML за допомогою REST API у PHP.

// Цей приклад коду демонструє, як перевести DOCX у HTML.
// Ініціалізувати API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);

// Визначте ViewOptions
$viewOptions = new Model\ViewOptions();

// Вхідний шлях до файлу
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");	
$viewOptions->setFileInfo($fileInfo);

// Встановити ViewFormat
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);

// Визначте параметри HTML
$renderOptions = new Model\HtmlOptions();

// Налаштуйте його на реагування
$renderOptions->setIsResponsive(true);

// Набір для друку
$renderOptions->setForPrinting(true);

// Призначити параметри візуалізації
$viewOptions->setRenderOptions($renderOptions);

// Створити запит на перегляд
$request = new Requests\CreateViewRequest($viewOptions);

// Створити перегляд
$response = $apiInstance->createView($request);

// Готово
echo "HtmlViewerResponsiveLayout completed: ", count($response->getPages());
echo "\n";  
Відображення документа Word на сторінці HTML за допомогою REST API у PHP

Відображення документа Word на сторінці HTML за допомогою REST API у PHP.

Ми можемо налаштувати відтворення Word у HTML, застосувавши такі параметри:

  • Відображати певний діапазон сторінок
// Pass specific range of page numbers to render. 
// This will render all pages from starting from page 1 to 3.
$renderOptions->setStartPageNumber(1);
$renderOptions->setCountPagesToRender(3);
  • Виводити лише вибрані сторінки
// Pass specific page numbers to render. 
// This will render only page number 1 and 3.
$renderOptions->setPagesToRender([1, 3]);
  • Переглядайте сторінки в певному порядку
// Pass page numbers in the order you want to render them
$renderOptions->setPagesToRender([2, 1]);
  • Відобразити документ із коментарями
$renderOptions->setRenderComments(true);

Завантажити HTML-сторінки

Наведений вище зразок коду збереже відтворені сторінки HTML у хмарі. Його можна завантажити за допомогою наступного зразка коду:

// Цей приклад коду демонструє, як завантажити відтворені HTML-сторінки з хмари.
$fileApi = new GroupDocs\Viewer\FileApi($configuration);

// Отримати всі сторінки
$pages = $response->getPages();

// Зберігайте сторінки одну за одною
foreach ($pages as $page)
{
    // Створити запит на завантаження файлу
    $downloadFileRequest = new GroupDocs\Viewer\Model\Requests\DownloadFileRequest($page->getPath(), "");

    // Завантажити файл
    $file = $fileApi->DownloadFile($downloadFileRequest);
    echo "$page downloaded!";
    echo "\n"; 
}

Вставити документ Word в існуючу сторінку HTML

Ми також можемо вставити документ Word в існуючу сторінку HTML, виконавши наведені нижче дії.

  1. По-перше, створіть екземпляри ViewAPI і FileAPI.
  2. Далі створіть екземпляр ViewOptions.
  3. Потім укажіть шлях до вхідного файлу.
  4. Також встановіть ViewFormat як «HTML».
  5. Далі ініціалізуйте об’єкт HtmlOptions.
  6. Потім установіть різні властивості, наприклад IsResponsive, ForPrinting тощо.
  7. Після цього створіть CreateViewRequest з ViewOptions як аргумент.
  8. Потім перетворіть Word у HTML за допомогою методу createView().
  9. Далі завантажте існуючий файл HTML і отримайте елементи тегу body
  10. Потім прочитайте HTML кожної сторінки та додайте в тег body
  11. Після цього збережіть оновлений HTML за допомогою методу saveHTML().
  12. Нарешті, збережіть файл HTML за допомогою методу file\put\contents().

У наведеному нижче прикладі коду показано, як вставити документ Word у наявну сторінку HTML за допомогою REST API у PHP.

// Цей приклад коду демонструє, як перевести DOCX у HTML.
// Ініціалізувати API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);
$fileApi = new GroupDocs\Viewer\FileApi($configuration);

// Визначте ViewOptions
$viewOptions = new Model\ViewOptions();

// Вхідний шлях до файлу
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");	
$viewOptions->setFileInfo($fileInfo);

// Встановити ViewFormat
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);

// Визначте параметри HTML
$renderOptions = new Model\HtmlOptions();

// Налаштуйте його на реагування
$renderOptions->setIsResponsive(true);

// Набір для друку
$renderOptions->setForPrinting(true);

// Призначити параметри візуалізації
$viewOptions->setRenderOptions($renderOptions);

// Створити запит на перегляд
$request = new Requests\CreateViewRequest($viewOptions);

// Створити перегляд
$response = $apiInstance->createView($request);

// Завантажте існуючий файл HTML
$domDoc = new DOMDocument();
$domDoc->loadHTMLFile("C:\Files\Viewer\Sample.html");
$body = $domDoc->GetElementsByTagName('body')->item(0);

// Отримати сторінки
$pages = $response->getPages();

// Вставте всі відтворені сторінки HTML у тег body існуючого HTML
foreach ($pages as $page)
{
    // Створити запит на завантаження файлу
    $downloadFileRequest = new GroupDocs\Viewer\Model\Requests\DownloadFileRequest($page->getPath(), "");

    // Завантажити перетворену сторінку
    $file = $fileApi->DownloadFile($downloadFileRequest);

    // Прочитайте HTML із файлу завантаження
    $html = file_get_contents($file->getRealPath());

    //Додати вміст до фрагменту
    $fragment = $domDoc->createDocumentFragment();
    $fragment->appendXML("<div>$html</div>");

    // Додайте елемент до тіла
    $body->appendChild($fragment);
}

// Зберегти оновлений HTML
$output = $domDoc->saveHTML();

// Збережіть файл
file_put_contents("C:\Files\Viewer\Sample.html", $output);
Вставити-документ-Word-в-існуючу-HTML-сторінку

Вставте документ Word в існуючу сторінку HTML.

Відображайте документ Word у HTML із водяним знаком за допомогою PHP

Ми можемо додати текст водяного знака під час програмного відтворення документів Word на сторінках HTML, виконавши наведені нижче кроки:

  1. По-перше, створіть екземпляр ViewAPI.
  2. Далі створіть екземпляр ViewOptions.
  3. Потім укажіть шлях до вхідного файлу.
  4. Також встановіть ViewFormat як «HTML».
  5. Далі створіть і призначте екземпляр водяного знака.
  6. Потім встановіть розмір водяного знака та текст.
  7. Після цього створіть CreateViewRequest з ViewOptions як аргумент.
  8. Нарешті, перетворіть Word у HTML за допомогою методу createView().

У наведеному нижче прикладі коду показано, як відобразити документ Word у HTML із водяним знаком за допомогою REST API у PHP.

// Цей приклад коду демонструє, як відобразити Word у HTML із водяним знаком.
// Ініціалізувати API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);

// Визначте ViewOptions
$viewOptions = new Model\ViewOptions();

// Вхідний шлях до файлу
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");				
$viewOptions->setFileInfo($fileInfo);

// Встановити ViewFormat
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);

// Визначте водяний знак
$watermark = new Model\Watermark();
$watermark->setText("This is sample text watermark!");
$watermark->setSize(100);
$watermark->setColor("Red");
$viewOptions->setWatermark($watermark);

// Створити запит на перегляд
$request = new Requests\CreateViewRequest($viewOptions);

// Створити перегляд
$response = $apiInstance->createView($request);

// Готово
echo "AddWatermark completed: ", count($response->getPages());
echo "\n";
Відображайте документ Word у HTML із водяним знаком за допомогою PHP.

Відображайте документ Word у HTML із водяним знаком за допомогою PHP.

Спробуйте онлайн

Будь ласка, спробуйте наведений нижче безкоштовний онлайн-інструмент візуалізації DOCX, розроблений за допомогою вищезазначеного API. https://products.groupdocs.app/viewer/docx

Висновок

У цій статті ми дізналися, як:

  • переглядати документ Word на веб-сторінці HTML, що підтримується браузером, за допомогою PHP;
  • налаштувати відтворення Word у HTML;
  • вставити документ Word в існуючу веб-сторінку HTML;
  • перегляд вмісту файлу Word у форматі HTML із водяним знаком;
  • програмно завантажити файл DOCX у хмару;
  • завантажити відтворені HTML-файли з хмари.

Крім того, ви можете дізнатися більше про GroupDocs.Viewer Cloud API за допомогою документації. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також