Microsoft.HtmlTrans 名前空間を使用したプログラミング

最終更新日: 2011年2月1日

適用対象: SharePoint Foundation 2010

要求されたドキュメントを表示できるアプリケーションがクライアント コンピュータにインストールされていなくても、ユーザーはドキュメント ライブラリのドキュメントを表示できます。Microsoft SharePoint Foundation に用意されている Microsoft.HtmlTrans 名前空間は、要求されたドキュメントを認識不能なバイナリ ファイル形式ではなく HTML バージョンとして提供するカスタム コンバータ アプリケーションを作成するための基盤となります。

注意注意

この機能を使用するには、SharePoint Foundation サーバーの全体管理で HTML ビューア機能を有効にする必要があります。

Microsoft.HtmlTrans.Interface 名前空間は、IHtmlTrLoadBalancer と IHtmlTrLauncher の 2 つのインターフェイスで構成されます。さらに、この 2 つのインターフェイスは htmltransinfo.xml という XML 構成ファイルに従って実装されます。このファイルは SharePoint Foundation が実行されているサーバーに置かれています。

  • IHtmlTrLoadBalancer インターフェイスを利用して、カスタム コンバータ アプリケーションを実行するサーバーを選択します。

  • IHtmlTrLauncher インターフェイスにより、カスタム コンバータ アプリケーションを起動し、SharePoint Foundation に HTML の結果を返します。

  • htmltransinfo.xml により、ドキュメント要求をハンドラ ページにリダイレクトした後、ロード バランサ コンポーネントと起動プログラム コンポーネントを呼び出します。htmltransinfo.xml 構成ファイルのエントリでは、次の形式を使用します。

    <HtmlTrInfo>
        <Mapping Extension="ext" AcceptHeader="application/vnd.my-app" HandlerUrl="myapphandler.aspx" ProgId=""/>
    </HtmlTrInfo>
    
注意注意

SharePoint Foundation にサービス パックやセキュリティ更新プログラムを適用して更新すると、htmltransinfo.xml ファイルに加えた変更が失われる可能性があります。

Microsoft.HtmlTrans 名前空間を使用する

SharePoint Foundation が動作しているサーバー上のドキュメントをユーザーが要求すると、次の一連のイベントが発生します。

  1. SharePoint Foundation は htmltransinfo.xml ファイル内でドキュメントのファイル拡張子を検索します。ドキュメントのファイル拡張子が見つかった場合、SharePoint Foundation は一致する AcceptHeader 属性を取得します。見つからなかった場合、SharePoint Foundation はドキュメントをダウンロードするように求めるメッセージをユーザーに表示します。

  2. SharePoint Foundation は AcceptHeader 属性の値を要求の Accept-Header HTTP header と比較し、要求された種類のドキュメントがクライアント コンピュータで認識されるかを確認します。認識される場合、SharePoint Foundation はそのドキュメントをネイティブ形式で提供します。

  3. また、SharePoint Foundation は Htmltransinfo.xml ファイルの ProgId 属性を取得し、ProgId に指定されているコンポーネントを使用して、クライアント コンピュータ上のファイルを開くことを試行します。この試行が失敗した場合、SharePoint Foundation は HTML 変換プロセスを開始します。

  4. クライアント コンピュータが要求された種類のドキュメントを認識しない場合、SharePoint Foundation ではユーザーに "ブラウザで表示できる形式にドキュメントを変換しますか?" というメッセージを表示します。ユーザーがドキュメントの変換を選択しなかった場合、SharePoint Foundation ではドキュメントをダウンロードするように求めるメッセージをユーザーに表示します。

  5. ユーザーがドキュメントの変換を選択した場合、SharePoint Foundation は Htmltransinfo.xml ファイルの HandlerUrl 属性で指定されるハンドラ ページに要求を転送します。ハンドラ ページにより変換プロセスが実行され、変換されたファイルがユーザーに送られて、ブラウザに表示されます。

カスタム ドキュメント変換を実装する

SharePoint Foundation プラットフォームにカスタム ドキュメント変換を実装するには、次のものを作成する必要があります。

  • ドキュメントの種類に対応する Htmltransinfo.xml ファイル内のエントリ。

  • ドキュメント変換プロセスを実行し、HTML 出力をユーザーに返すハンドラ ページ。

  • 一連のカスタム変換コンポーネント。

次の 3 つの方法のうち 1 つを使用して、一連のカスタム変換コンポーネントを作成する必要があります。

  • カスタム コンバータ アプリケーションを起動して結果を SharePoint Foundation に返すために使用できる、IHtmlTrLoadBalancer インターフェイスと IHtmlTrLauncher インターフェイスのカスタム実装を作成する。

  • Microsoft.HtmlTrans インターフェイスを使用しない一連のカスタム変換コンポーネントを作成する。

  • Microsoft Office 2003 の Resource Kit で提供されている IHtmlTrLoadBalancer インターフェイスと IHtmlTrLauncher インターフェイスのカスタム実装を呼び出し、IHtmlTrLauncher 実装で呼び出されるカスタム コンバータ アプリケーションを提供する。

関連項目

概念

SharePoint Foundation オブジェクト モデルにおける名前空間

その他の技術情報

Getting Started with Customizing a SharePoint Web Site in Visual Studio .NET