レイアウトの忠実性
ページネーション、ヘッダーとフッター、カラム、テーブル、埋め込み画像は Word と同様にレイアウトされます。出力が HTML の近似ではなくページ画像であるためです。
Web サーバーでの Office Interop は、チームが予測可能な速度で後悔する選択です。デスクトップ ライセンスが必要で、プロセスが漏れ、同時実行時にデッドロックし、Microsoft は何年も前から使用しないよう警告しています。Doconut は DOC、DOCX、RTF、ODT をネイティブにレンダリングします — Office も COM も、深夜 4 時の孤立した WINWORD.EXE も不要です。
問題
Office の自動化は、ログインしたユーザーがいるデスクトップ向けに設計されており、20 件の同時リクエストを処理するサービス向けではありません。負荷がかかるとデッドロックし、誰も閉じられないダイアログが表示され、プロセスがリクエスト完了後も残り、サーバーのメモリが枯渇します。
ライセンスの問題も同様です。多数のユーザー向けにドキュメントをサーバーでレンダリングするには、想定外のデスクトップ ライセンスが必要になります。
ネイティブレンダリングはこれらすべてを回避します。Doconut はファイルを開き、レイアウトし、プロセス内でページ画像を生成します。インストール、監視、ライセンスが必要な別アプリケーションはありません。
機能
ページネーション、ヘッダーとフッター、カラム、テーブル、埋め込み画像は Word と同様にレイアウトされます。出力が HTML の近似ではなくページ画像であるためです。
.doc、.docx、.docm、.dot、.dotx、.dotm、.rtf、.odt、.ott、.xml すべてが同じ呼び出しで開けます。
レンダリングはサーバーにインストールされたフォントを使用するため、ドキュメントの外観は読者の使用マシンではなく、デプロイ環境の属性になります。
ページ画像には変更履歴、削除されたテキスト、コメント、作成者メタデータが含まれません。DOCX の代わりに画像を送信することで、情報漏洩を大幅に削減できます。
AdvancedSearch プラグインを使用すると、画像ではなくドキュメントのテキストに対して検索が行えます。
Converter プラグインを使用すれば、DocumentConverter.ConvertAsync() が同一プロセス内で PDF やその他の形式に変換します — 表示ではなくアーカイブが目的の場合に便利です。
統合
.xml は Word レンダラと WordConfig が処理することに注意してください。汎用 XML ビューアではなく、Word 独自の XML フォーマットがそのパイプラインに入るために存在します。
サポートされている拡張子
// 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");詳細
いいえ。レンダリングはネイティブです。Office のインストールも Interop アセンブリも自動化プロセスもありません。
ページネーションとレイアウトはサーバー側で再現されるため、ドキュメントが参照するフォントがレンダリングホストにインストールされていれば結果はほぼ一致します。フォントが欠けている場合は置換され、置換がレイアウトの変化を引き起こします。
レンダリングされたページはレイアウトされたドキュメントを表示し、背後にあるリビジョンメタデータは表示しません。むしろこれは機能です — レビューアは削除されたテキストが残っている DOCX ファイルを頻繁に転送します。
一時ライセンスの取得には数分かかり、完全にご自身のマシン上で実行されます。重要なファイルは、現在のビューアで既に問題を起こしているものです。