手順 2: Web パーツの作成
最終更新日: 2010年7月20日
適用対象: SharePoint Server 2010
このトピックは、SharePoint サーバー 2010 Web パーツを使用して、Word Automation Services ドキュメント変換を実行するコードを作成する方法について説明します。エンド ユーザーは、Web パーツでボタンをクリックすることにより、指定された SharePoint ドキュメント ライブラリ内のドキュメントを変換することができます。
ドキュメント ライブラリを変換するためにコードを作成する
以下の手順は、Web パーツにボタンを追加して、Word Automation Services ドキュメント変換を行うボタンのための Click イベントにコードを追加します。
Web パーツにボタンを追加するには
Visual Studio 2010 プロジェクトでの Web パーツ ソリューション例では、ソリューション エクスプローラーで、VisualWebPart1 を展開して、VisualWebPart1UserControl.ascx を右クリックし、次に [ビュー デザイナー] をクリックします。
[ツールボックス] から、デザイナー画面にボタン コントロールをドラッグします。
デザイナーでボタンを選択し、[プロパティ] で、[(ID)] フィールドをダブルクリックします。「btnSubmit」と入力し、次に Enter を押します。
[プロパティ] で、[テキスト] までスクロール ダウンして、[テキスト] フィールドをダブルクリックし、「Convert Document Library」と入力して、次に Enter を押します。
ドキュメントを変換するには
デザイナーで VisualWebPart1UserControl.ascx を開いた状態で、Web パーツ領域上でボタンが選択されていることを確認してください。
[プロパティ] で、稲妻アイコンのボタンをクリックしてイベント ビューに移動し、[クリック] イベント フィールドでダブルクリックします。VisualWebPart1UserControl.ascx.cs で、btnSubmit_Click イベント ハンドラーが作成されます。
VisualWebPart1UserControl.ascx.cs で、Word Automation Services のための using ディレクティブを追加します。
using Microsoft.Office.Word.Server.Conversions;
Word Automation Services ドキュメント変換を実行するために使用する主要オブジェクトは、Microsoft.Office.Word.Server.Conversions 名前空間にあります。
btnSubmit_Click メソッド内に次のコードを追加します。
ConversionJob myJob = new ConversionJob("Word Automation Services");
ConversionJob コンストラクターに渡される文字列引数は、「Word Automation Services を開発のために設定する」トピックで説明されているように、Word Automation Services のためのサービス アプリケーション インスタンスの名前である必要があります。サービス アプリケーション インスタンス名は、[SharePoint サーバーの全体管理] の [サービス アプリケーションの管理] ページに表示されます。
次に、以下のコードを追加して、ConversionJob のプロパティを設定します。
myJob.Settings.OutputFormat = SaveFormat.PDF; myJob.Settings.OutputSaveBehavior = SaveBehavior.AppendIfPossible;
コード内の 2 つの設定は、以下を指定します。
出力形式は PDF 形式である必要があります。
バージョン管理が有効の場合、出力ファイルは既存のファイルに新しいバージョンとして付加されます。無効の場合には、既存のファイルを置換します。
変換ジョブの実行中に提示する資格情報を設定します。
重要 この設定は、ドキュメントのすべての読み取り / 書き込み操作が、ボタンをクリックしたユーザーの資格情報を使用する必要があることを指定します。Word Automation Services は既定で匿名コンテキストを使用するため、このプロパティを設定することは重要です。
myJob.UserToken = SPContext.Current.Web.CurrentUser.UserToken;
次に、変換するファイルを含む入力ライブラリと、変換されたファイルのための出力ライブラリを指定します。
SPWeb myWebSite = SPContext.Current.Web; SPList inputLibrary = myWebSite.Lists["Input"]; SPList outputLibrary = myWebSite.Lists["Output"]; myJob.AddLibrary(inputLibrary, outputLibrary, true);
最後に、Word Automation Services 変換ジョブを開始するコードを追加すると、btnSubmit_Click メソッドのためのコードは完成です。
myJob.Start();
ユーザーが Web パーツでボタンをクリックすると、コードは、入力ライブラリ内のファイルに対して変換ジョブを実行します。
関連項目
タスク
手順 1: Web パーツ ソリューションのための Visual Studio 2010 プロジェクトを設定する
手順 3: Web パーツ ソリューションをビルドして展開する