Word

サーバー上で Word を使用せずに Word ドキュメントを扱う

Web サーバーでの Office Interop は、チームが予測可能な速度で後悔する選択です。デスクトップ ライセンスが必要で、プロセスが漏れ、同時実行時にデッドロックし、Microsoft は何年も前から使用しないよう警告しています。Doconut は DOC、DOCX、RTF、ODT をネイティブにレンダリングします — Office も COM も、深夜 4 時の孤立した WINWORD.EXE も不要です。

10
Word ファミリー拡張がサポートされています
0
Office ライセンスは不要です
0
サーバー上の COM 自動化はありません

問題

Interop がうまくいかない理由

Office の自動化は、ログインしたユーザーがいるデスクトップ向けに設計されており、20 件の同時リクエストを処理するサービス向けではありません。負荷がかかるとデッドロックし、誰も閉じられないダイアログが表示され、プロセスがリクエスト完了後も残り、サーバーのメモリが枯渇します。

ライセンスの問題も同様です。多数のユーザー向けにドキュメントをサーバーでレンダリングするには、想定外のデスクトップ ライセンスが必要になります。

ネイティブレンダリングはこれらすべてを回避します。Doconut はファイルを開き、レイアウトし、プロセス内でページ画像を生成します。インストール、監視、ライセンスが必要な別アプリケーションはありません。

機能

レンダリング後に残るもの

レイアウトの忠実性

ページネーション、ヘッダーとフッター、カラム、テーブル、埋め込み画像は Word と同様にレイアウトされます。出力が HTML の近似ではなくページ画像であるためです。

Word ファミリー全体

.doc、.docx、.docm、.dot、.dotx、.dotm、.rtf、.odt、.ott、.xml すべてが同じ呼び出しで開けます。

フォントは自分で管理

レンダリングはサーバーにインストールされたフォントを使用するため、ドキュメントの外観は読者の使用マシンではなく、デプロイ環境の属性になります。

非表示コンテンツは非表示のまま

ページ画像には変更履歴、削除されたテキスト、コメント、作成者メタデータが含まれません。DOCX の代わりに画像を送信することで、情報漏洩を大幅に削減できます。

テキスト層全体で検索

AdvancedSearch プラグインを使用すると、画像ではなくドキュメントのテキストに対して検索が行えます。

必要に応じて変換

Converter プラグインを使用すれば、DocumentConverter.ConvertAsync() が同一プロセス内で PDF やその他の形式に変換します — 表示ではなくアーカイブが目的の場合に便利です。

統合

DOCX を開く

.xml は Word レンダラと WordConfig が処理することに注意してください。汎用 XML ビューアではなく、Word 独自の XML フォーマットがそのパイプラインに入るために存在します。

サポートされている拡張子

.doc.docx.docm.dot.dotx.dotm.rtf.odt.ott.xml
csharp
// Identical to every other format — the family is detected from the document
string token = await viewer.OpenDocumentAsync("wwwroot/files/Agreement.docx");

// With the Converter plugin, when the requirement is a PDF for the archive
await DocumentConverter.ConvertAsync(
    "wwwroot/files/Agreement.docx",
    "wwwroot/archive/Agreement.pdf");

詳細

Word の詳細

  • Microsoft Office のインストールや COM Interop は一切関与しません。
  • レンダリングホストにドキュメントが参照するフォントをインストールしてください。置換フォントが予期しないレイアウト崩れの一般的な原因です。
  • PDF やその他の形式への変換には Converter プラグインが必要です。

よくある質問

サーバーに Microsoft Office は必要ですか?

いいえ。レンダリングはネイティブです。Office のインストールも Interop アセンブリも自動化プロセスもありません。

レイアウトは Word の表示と一致しますか?

ページネーションとレイアウトはサーバー側で再現されるため、ドキュメントが参照するフォントがレンダリングホストにインストールされていれば結果はほぼ一致します。フォントが欠けている場合は置換され、置換がレイアウトの変化を引き起こします。

変更履歴やコメントは表示されますか?

レンダリングされたページはレイアウトされたドキュメントを表示し、背後にあるリビジョンメタデータは表示しません。むしろこれは機能です — レビューアは削除されたテキストが残っている DOCX ファイルを頻繁に転送します。

自分のドキュメントで試す

一時ライセンスの取得には数分かかり、完全にご自身のマシン上で実行されます。重要なファイルは、現在のビューアで既に問題を起こしているものです。