Мы можем легко отображать файлы DOC или DOCX на веб-страницах HTML программно в облаке. Это может быть полезно при просмотре документов Word в любом браузере без совместного использования исходных файлов. В этой статье мы узнаем, как отобразить документ Word на HTML-странице с помощью REST API в PHP.
В этой статье должны быть раскрыты следующие темы:
- Средство просмотра Word в HTML REST API и PHP SDK
- Отображение документа Word на HTML-странице с использованием REST API в PHP
- Встроить документ Word в существующую HTML-страницу
- Отображение документа Word в HTML с водяным знаком с использованием PHP
Средство просмотра Word в HTML REST API и PHP SDK
Для рендеринга документов Word в формате HTML мы будем использовать PHP SDK для GroupDocs.Viewer Cloud API. Он позволяет отображать и просматривать поддерживаемые форматы файлов документов и изображений программно. Пожалуйста, установите его с помощью следующей команды в консоли:
composer require groupdocscloud/groupdocs-viewer-cloud
После установки используйте autoload 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, выполнив простые шаги, указанные ниже:
- Загрузить файл DOCX в облако
- Отображать документ Word на HTML-странице
- Скачать визуализированный файл
Загрузить документ
Во-первых, мы загрузим файл 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-страницах, выполнив следующие шаги:
- Во-первых, создайте экземпляр ViewAPI.
- Затем создайте экземпляр ViewOptions.
- Затем укажите путь к входному файлу.
- Также установите ViewFormat как «HTML».
- Затем инициализируйте объект HtmlOptions.
- Затем установите различные свойства, такие как IsResponsive, ForPrinting и т. д.
- После этого создайте CreateViewRequest с ViewOptions в качестве аргумента.
- Наконец, преобразуйте 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);
// Установить формат просмотра
$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, применив следующие параметры:
- Отображение определенного диапазона страниц
// 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-страницу, выполнив следующие шаги:
- Во-первых, создайте экземпляры ViewAPI и FileAPI.
- Затем создайте экземпляр ViewOptions.
- Затем укажите путь к входному файлу.
- Также установите ViewFormat как «HTML».
- Затем инициализируйте объект HtmlOptions.
- Затем установите различные свойства, такие как IsResponsive, ForPrinting и т. д.
- После этого создайте CreateViewRequest с ViewOptions в качестве аргумента.
- Затем преобразуйте Word в HTML с помощью метода createView().
- Затем загрузите существующий файл HTML и получите элементы тега body.
- Затем прочитайте HTML каждой страницы и добавьте в тег body
- После этого сохраните обновленный HTML с помощью метода saveHTML().
- Наконец, сохраните файл 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);
// Установить формат просмотра
$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 с водяным знаком с использованием PHP
Мы можем добавить текст водяного знака при программном отображении документов Word на HTML-страницах, выполнив следующие шаги:
- Во-первых, создайте экземпляр ViewAPI.
- Затем создайте экземпляр ViewOptions.
- Затем укажите путь к входному файлу.
- Также установите ViewFormat как «HTML».
- Затем создайте и назначьте экземпляр водяного знака.
- Затем установите размер водяного знака и текст.
- После этого создайте CreateViewRequest с ViewOptions в качестве аргумента.
- Наконец, преобразуйте 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);
// Установить формат просмотра
$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";
Попробуйте онлайн
Пожалуйста, попробуйте следующий бесплатный онлайн-инструмент рендеринга DOCX, разработанный с использованием вышеуказанного API. https://products.groupdocs.app/viewer/docx
Заключение
В этой статье мы узнали, как:
- просматривать документ Word в веб-странице, поддерживаемой браузером HTML, используя PHP;
- настроить рендеринг Word в HTML;
- встроить документ Word в существующую веб-страницу HTML;
- просматривать содержимое файла Word в формате HTML с водяным знаком;
- программно загрузить файл DOCX в облако;
- загрузить обработанные HTML-файлы из облака.
Кроме того, вы можете узнать больше об облачном API GroupDocs.Viewer с помощью документации. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.