使用 PHP 在 HTML 頁面中顯示 Word 文檔。

我們可以在雲端以編程方式輕鬆呈現 HTML 網頁中的 DOCDOCX 文件。它可以用於在任何瀏覽器中查看 Word 文檔而無需共享原始文件。在本文中,我們將學習如何在 PHP 中使用 REST API 在 HTML 頁面中顯示 Word 文檔。

本文應涵蓋以下主題:

Word 到 HTML 查看器 REST API 和 PHP SDK

為了在 HTML 中呈現 Word 文檔,我們將使用 GroupDocs.Viewer Cloud 的 PHP SDK API。它允許以編程方式呈現和查看支持的文檔和圖像文件格式。請在控制台中使用以下命令安裝它:

composer require groupdocscloud/groupdocs-viewer-cloud

安裝後,請使用Composers的autoload來使用SDK,如下圖:

require_once('vendor/autoload.php');

在執行上述步驟之前,請從儀表板獲取您的客戶端 ID 和密碼。獲得 ID 和密碼後,添加如下所示的代碼:

// 此代碼示例演示如何在代碼中添加客戶端 Id 和 Secret。
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);

在 PHP 中使用 REST API 在 HTML 頁面中顯示 Word 文檔

我們可以按照下面給出的簡單步驟在 HTML 中顯示 Word 文檔的內容:

  1. 上傳DOCX文件到雲端
  2. 在HTML頁面中顯示Word文檔
  3. 下載渲染文件

上傳文件

首先,我們將使用下面給出的代碼示例將 DOCX 文件上傳到雲端:

// 此代碼示例演示如何將 DOCX 文件上傳到雲端。
// 初始化接口
$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);

因此,上傳的文件將在雲上儀表板的 文件部分 中可用。

使用 PHP 在 HTML 頁面中顯示 Word 文檔

現在,我們將按照以下步驟在 HTML 頁面上呈現或顯示上傳的 Word 文檔的內容:

  1. 首先,創建 ViewAPI 的一個實例。
  2. 接下來,創建 ViewOptions 的一個實例。
  3. 然後,提供輸入文件路徑。
  4. 此外,將 ViewFormat 設置為“HTML”。
  5. 接下來,初始化 HtmlOptions 對象。
  6. 然後,設置各種屬性,如 IsResponsive、ForPrinting 等。
  7. 之後,使用 ViewOptions 作為參數創建 CreateViewRequest。
  8. 最後,使用 createView() 方法將 Word 呈現為 HTML。

以下代碼示例顯示瞭如何在 PHP 中使用 REST API 以 HTML 格式顯示 Word 文件。

// 此代碼示例演示如何將 DOCX 呈現為 HTML。
// 初始化接口
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);

// 定義視圖選項
$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";  
在 PHP 中使用 REST API 在 HTML 頁面中顯示 Word 文檔

在 PHP 中使用 REST API 在 HTML 頁面中顯示 Word 文檔。

我們可以通過應用以下選項自定義 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. 首先,創建 ViewAPIFileAPI 的實例。
  2. 接下來,創建 ViewOptions 的一個實例。
  3. 然後,提供輸入文件路徑。
  4. 此外,將 ViewFormat 設置為“HTML”。
  5. 接下來,初始化 HtmlOptions 對象。
  6. 然後,設置各種屬性,如 IsResponsive、ForPrinting 等。
  7. 之後,使用 ViewOptions 作為參數創建 CreateViewRequest。
  8. 然後,使用 createView() 方法將 Word 呈現為 HTML。
  9. 接下來,加載現有的 HTML 文件並獲取 body 標籤的元素
  10. 然後,讀取每個頁面的 HTML 並附加到 body 標籤中
  11. 之後,使用 saveHTML() 方法保存更新後的 HTML。
  12. 最後,使用 file\put\contents() 方法保存 HTML 文件。

以下代碼示例顯示瞭如何使用 PHP 中的 REST API 將 Word 文檔嵌入到現有的 HTML 頁面中。

// 此代碼示例演示如何將 DOCX 呈現為 HTML。
// 初始化接口
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);
$fileApi = new GroupDocs\Viewer\FileApi($configuration);

// 定義視圖選項
$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 頁面嵌入到現有 HTML 的 body 標籤中
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 頁面中。

使用 PHP 在帶有水印的 HTML 中顯示 Word 文檔

我們可以按照以下步驟以編程方式在將 Word 文檔呈現為 HTML 頁面時添加水印文本:

  1. 首先,創建 ViewAPI 的一個實例。
  2. 接下來,創建 ViewOptions 的一個實例。
  3. 然後,提供輸入文件路徑。
  4. 此外,將 ViewFormat 設置為“HTML”。
  5. 接下來,創建並分配水印實例。
  6. 然後,設置水印大小和文字。
  7. 之後,使用 ViewOptions 作為參數創建 CreateViewRequest。
  8. 最後,使用 createView() 方法將 Word 呈現為 HTML。

以下代碼示例顯示瞭如何在 PHP 中使用 REST API 顯示帶水印的 HTML Word 文檔。

// 此代碼示例演示如何使用水印在 HTML 中呈現 Word。
// 初始化接口
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);

// 定義視圖選項
$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";
使用 PHP 在帶有水印的 HTML 中顯示 Word 文檔。

使用 PHP 在帶有水印的 HTML 中顯示 Word 文檔。

在線試用

請試用以下使用上述API開發的免費在線DOCX渲染工具。 https://products.groupdocs.app/viewer/docx

結論

在本文中,我們學習瞭如何:

  • 使用 PHP 在支持 HTML 網頁的瀏覽器中查看 Word 文檔;
  • 自定義 Word 到 HTML 的呈現;
  • 將 Word 文檔嵌入到現有的 HTML 網頁中;
  • 查看帶水印的 HTML Word 文件的內容;
  • 以編程方式將 DOCX 文件上傳到雲端;
  • 從雲端下載呈現的 HTML 文件。

此外,您可以使用 文檔 了解有關 GroupDocs.Viewer Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看