PHPを使用してWord文書をHTMLページに表示します。

HTML Web ページ内の DOC または DOCX ファイルをクラウド上でプログラム的に簡単にレンダリングできます。元のファイルを共有せずに、任意のブラウザーで Word 文書を表示する場合に便利です。この記事では、PHP の REST API を使用して、HTML ページに Word ドキュメントを表示する方法を学習します。

この記事では次のトピックについて説明します。

Word to HTML ビューア REST API および PHP SDK

Word ドキュメントを HTML でレンダリングするには、GroupDocs.Viewer Cloud の PHP SDK API を使用します。 サポートされているドキュメントおよび画像ファイル形式 をプログラムでレンダリングおよび表示できるようになります。コンソールで次のコマンドを使用してインストールしてください。

composer require groupdocscloud/groupdocs-viewer-cloud

インストール後、以下に示すように Composers の autoload を使用して SDK を使用してください。

require_once('vendor/autoload.php');

上記の手順に従う前に、ダッシュボードからクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。

// このコード例は、コードにクライアント ID とシークレットを追加する方法を示しています。
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 を使用して Word ドキュメントを HTML ページに表示する

以下に示す簡単な手順に従って、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);

その結果、アップロードされたファイルはクラウド上のダッシュボードの ファイル セクション で利用できるようになります。

PHP を使用して Word ドキュメントを HTML ページに表示する

次に、以下の手順に従って、アップロードされた Word ドキュメントのコンテンツを HTML ページにレンダリングまたは表示します。

  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 にレンダリングする方法を示しています。
// APIを初期化する
$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 を使用して Word ドキュメントを HTML ページに表示する

PHP の REST API を使用して Word ドキュメントを HTML ページに表示します。

次のオプションを適用することで、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();

// ページを 1 つずつ保存する
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 にレンダリングする方法を示しています。
// APIを初期化する
$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 を使用して Word 文書を透かし付きの HTML で表示する

以下の手順に従って、プログラムで 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 をレンダリングする方法を示します。
// APIを初期化する
$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 を使用して、Word 文書をウォーターマーク付きの HTML で表示します。

PHP を使用して、Word 文書をウォーターマーク付きの HTML で表示します。

オンラインで試す

上記の API を使用して開発された、次の無料のオンライン DOCX レンダリング ツールをお試しください。 https://products.groupdocs.app/viewer/docx

結論

この記事では、次の方法を学びました。

  • PHP を使用して、ブラウザでサポートされている HTML Web ページで Word 文書を表示します。
  • Word の HTML へのレンダリングをカスタマイズします。
  • Word ドキュメントを既存の HTML Web ページに埋め込みます。
  • Word ファイルの内容を透かし付きの HTML で表示します。
  • プログラムで DOCX ファイルをクラウドにアップロードします。
  • レンダリングされた HTML ファイルをクラウドからダウンロードします。

さらに、ドキュメント を使用して、GroupDocs.Viewer Cloud API について詳しく学ぶことができます。また、ブラウザーを通じて直接 API を視覚化し操作できるようにする API リファレンス セクションも提供しています。不明な点がある場合は、フォーラムでお気軽にお問い合わせください。

関連項目