C# の REST API を使用して Word ドキュメントを HTML ページとして表示する

C# 開発者は、クラウド上の .NET アプリケーションでプログラムによって DOC または DOCX ファイルを HTML ページに簡単にレンダリングできます。 Word ドキュメントを応答性の高い HTML ページとして関係者と共有する場合に便利です。この記事では、C# の REST API を使用して Word ドキュメントを HTML ページとして表示する方法を学習します。

Word to HTML Viewer REST API および .NET SDK

DOC または DOCX ファイルを HTML にレンダリングするには、GroupDocs.Viewer Cloud の .NET SDK API を使用します。 Word、Excel、PDF、PowerPoint, Visio、Project、Outlook、JPG、PNG など、あらゆる種類の一般的なドキュメントおよび画像ファイル形式をプログラムでレンダリングして表示できます。

GroupDocs.Viewer Cloud は、NuGet パッケージ マネージャーから Visual Studio プロジェクトにインストールするか、パッケージ マネージャー コンソールで次のコマンドを使用してインストールできます。

Install-Package GroupDocs.Viewer-Cloud

手順と利用可能なコード例を開始する前に、ダッシュボード からクライアント ID とシークレットを取得してください。クライアント ID とシークレットを取得したら、以下に示すコードを追加します。

string MyClientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
string MyClientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
string MyStorage = "";

var configuration = new Configuration(MyClientId, MyClientSecret);

C# の REST API を使用して Word ドキュメントを HTML ページとして表示する

以下の簡単な手順に従って、Word ドキュメントをクラウド上で HTML ページとして表示できます。

ドキュメントをアップロードする

まず、以下のコード例を使用して、DOCX ファイルをクラウドにアップロードします。

// APIを初期化する
var apiInstance = new FileApi(configuration);

// ローカル/ディスクからIOStreamでファイルを開きます。
var fileStream = File.Open(@"C:\Files\Sample.docx", FileMode.Open);

// ファイルアップロードリクエストを作成する
var request = new UploadFileRequest("sample.docx", fileStream, MyStorage);

// ファイルをアップロードする
var response = apiInstance.UploadFile(request);

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

C# を使用して Word を HTML ページにレンダリングする

以下の手順に従って、プログラムを使用して Word 文書を HTML ページにレンダリングできます。

  • ViewAPI のインスタンスを作成します。
  • FileInfo のインスタンスを作成する
  • 入力ファイルのパスを指定します
  • ViewOptions のインスタンスを作成する
  • FileInfo を ViewOptions に割り当てる
  • ViewFormatを「HTML」に設定します。
  • ViewOptions を指定して CreateViewRequest メソッドを呼び出して、ビュー リクエストを作成します。
  • CreateViewRequest で CreateView() メソッドを呼び出して応答を取得します。

次のコード サンプルは、C# の REST API を使用して Word ドキュメントを HTML ページにレンダリングする方法を示しています。

// APIを初期化する
var apiInstance = new ViewApi(configuration);

// 入力ファイルのパス
var fileInfo = new GroupDocs.Viewer.Cloud.Sdk.Model.FileInfo();
fileInfo.FilePath = "sample.docx";

// 表示オプションを定義する
var viewOptions = new ViewOptions();
viewOptions.FileInfo = fileInfo;
viewOptions.ViewFormat = ViewOptions.ViewFormatEnum.HTML;   // output view format

// ビューリクエストを作成する
var request = new CreateViewRequest(viewOptions);

// ビューの作成
var response = apiInstance.CreateView(request);
C# の REST API を使用して Word ドキュメントを HTML ページとして表示します。

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

レンダリングされた HTML ページをダウンロードする

上記のコード サンプルは、レンダリングされた HTML ページをクラウドに保存します。次のコード サンプルを使用してダウンロードできます。

// APIを初期化する
var fileApi = new FileApi(configuration);

// レンダリングされたすべての HTML ページを保存する
foreach (var page in response.Pages)
{
    // ダウンロードファイルリクエストの作成
    var downloadFileRequest = new DownloadFileRequest(page.Path, MyStorage);

    // ダウンロードファイル
    var file = fileApi.DownloadFile(downloadFileRequest);
    
    // ファイルを作業ディレクトリに保存します
    using (var fileStream = System.IO.File.Create("C:\\Files\\" + page.Path))
    {
        file.Seek(0, SeekOrigin.Begin);
        file.CopyTo(fileStream);
    }
}

C# を使用したレンダリング オプションを使用して Word を HTML ページにレンダリングする

以下の手順に従って、特定のレンダリング オプションを使用して、プログラムで Word ドキュメントを HTML ページにレンダリングできます。

  • ViewAPI のインスタンスを作成します。
  • FileInfo のインスタンスを作成する
  • 入力ファイルのパスを指定します
  • ViewOptions のインスタンスを作成する
  • FileInfo を ViewOptions に割り当てる
  • ViewFormatを「HTML」に設定します。
  • RenderOptions のインスタンスを作成する
  • PagesToRender、RenderComments などのさまざまなレンダリング オプションを設定します。
  • ViewOptions を指定して CreateViewRequest メソッドを呼び出して、ビュー リクエストを作成します。
  • CreateViewRequest で CreateView() メソッドを呼び出して応答を取得します。

次のコード サンプルは、C# の REST API を使用して、レンダリング オプションを使用して Word ドキュメントを HTML ページにレンダリングする方法を示しています。

// APIを初期化する
var apiInstance = new ViewApi(configuration);

// 入力ファイルのパス
var fileInfo = new GroupDocs.Viewer.Cloud.Sdk.Model.FileInfo();
fileInfo.FilePath = "sample.docx";

// 表示オプションを定義する
var viewOptions = new ViewOptions();
viewOptions.FileInfo = fileInfo;
viewOptions.ViewFormat = ViewOptions.ViewFormatEnum.HTML;   // output view format

// レンダリング オプションを定義する
viewOptions.RenderOptions = new RenderOptions
{
    // コメントをレンダリングする
    RenderComments = true,

    // 特定の範囲のページをレンダリングする
    StartPageNumber = 1,
    CountPagesToRender = 2,
};

// ビューリクエストを作成する
var request = new CreateViewRequest(viewOptions);

// ビューの作成
var response = apiInstance.CreateView(request);

C# を使用したウォーターマーク付きの Word から HTML へのレンダリング

以下の手順に従って、Word 文書をプログラムで HTML にレンダリングするときに透かしテキストを追加できます。

  • ViewAPI のインスタンスを作成します。
  • FileInfo のインスタンスを作成する
  • 入力ファイルのパスを指定します
  • ViewOptions のインスタンスを作成する
  • FileInfo を ViewOptions に割り当てる
  • ViewFormatを「HTML」に設定します。
  • 透かし表示オプションを定義する
  • 透かしのテキスト、サイズ、色、位置を設定する
  • ViewOptions を指定して CreateViewRequest メソッドを呼び出して、ビュー リクエストを作成します。
  • CreateViewRequest で CreateView() メソッドを呼び出して応答を取得します。

次のコード サンプルは、C# の REST API を使用して、レンダリングされた HTML ページに透かしテキストを追加する方法を示しています。

// APIを初期化する
var apiInstance = new ViewApi(configuration);

// 入力ファイルのパス
var fileInfo = new GroupDocs.Viewer.Cloud.Sdk.Model.FileInfo();
fileInfo.FilePath = "sample.docx";

// 表示オプションを定義する
var viewOptions = new ViewOptions();
viewOptions.FileInfo = fileInfo;
viewOptions.ViewFormat = ViewOptions.ViewFormatEnum.HTML;   // output view format

// 透かしを定義する
viewOptions.Watermark = new Watermark
{
    Text = "This is a sample watermark!",
    Size = 100,
    Color = "Red",
    Position = Watermark.PositionEnum.Diagonal
};
          
// ビューリクエストを作成する
var request = new CreateViewRequest(viewOptions);

// ビューの作成
var response = apiInstance.CreateView(request);
C# を使用したウォーターマーク付きの Word から HTML へのレンダリング。

C# を使用したウォーターマーク付きの Word から HTML へのレンダリング。

オンラインで試す

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

結論

この記事では、Word ドキュメントをクラウド上で HTML ページとして表示する方法を学習しました。また、C# のレンダリング オプションを使用して Word を HTML にレンダリングする方法も学習しました。さらに、C# を使用してプログラムでレンダリングされた HTML ページにテキストの透かしを追加する方法を学習しました。さらに、プログラムによって DOCX ファイルをクラウドにアップロードし、レンダリングされた HTML ファイルをクラウドからダウンロードする方法を学習しました。 GroupDocs.Viewer Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて直接 API を視覚化し操作できるようにする API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目