Office interop(サーバー側自動化)
定義
コードから Microsoft Office を操作して文書を開いたり変換したりします。デスクトップでは動作しますが、サーバー上では Microsoft および実際に試したすべての人から明確に推奨されていません。
Office はキーボードで操作する単一の対話的ユーザー向けに設計されました。多数のリクエストを処理するサーバーでは、その前提が特定の、よくある形で失敗します:プロセスが互いに待ち合うデッドロック、誰も閉じられないモーダル ダイアログ、そしてインスタンスがリクエストが終了しても残り続け、マシンのメモリが尽きるまで続きます。
ライセンスの立場も同様に厄介です。多数のユーザーに代わって文書をレンダリングするサーバーは、元々その用途を想定していないデスクトップ ライセンスが必要となり、調達チームとの話し合いはめったにうまくいきません。
代替手段はネイティブレンダリングです。フォーマットを直接解析し、プロセス内で出力を生成するライブラリです。別のアプリケーションは不要で、オートメーション層もなく、スケジュールで回収する孤立プロセスもありません。
Doconutで
Doconut はネイティブにレンダリングします。パイプラインのどこにも Office のインストールや COM オートメーション、インタープアセンブリは存在せず、これがコンテナ展開をシンプルにする要因でもあります。