ビジネスアプリケーションにドキュメントビューを追加することは、PDF を iframe に埋め込むだけでは済みません。Office ファイル、CAD 図面、メールファイル、画像はそれぞれ異なるレンダリング機能が必要であり、アプリケーションは認証、ストレージ、認可、保持を引き続き管理しなければなりません。
Doconut は、Web アプリケーションにドキュメントのレンダリングとインタラクションを埋め込むために設計された .NET ドキュメントビューア SDK です。未検証のソースコードレシピを提示するのではなく、本ガイドではチームが行うべき統合判断を解説し、SDK を取り巻く標準的な .NET コンポーネントを特定します。

なぜ埋め込みビューアはファイルダウンロードとは異なるのか
ダウンロードエンドポイントは元のファイルを転送し、閲覧体験はアプリケーション外のソフトウェアに委ねられます。埋め込みビューアはユーザーを製品内に留め、ナビゲーション、検索、レビュー、その他の機能を一貫した場所で提供できます。
各フォーマットには固有のルールがあるため、レンダリング層を自前で構築するのは困難です。
- PDF ファイルは埋め込みフォント、注釈、フォーム、非常に多くのページを含むことがあります。
- Word、Excel、PowerPoint ファイルはレイアウトとフォント処理に注意が必要です。
- CAD 図面は正確なスケーリング、レイヤー、詳細なズームが求められます。
- メールや画像形式は添付ファイル、メタデータ、カラー、解像度の問題を伴います。
専用 SDK を利用すれば、アプリケーションチームはすべてのフォーマットに対して別々のレンダラを維持する代わりに、アクセス制御、ワークフロー、ユーザーエクスペリエンスに集中できます。
手順 1: 必要なフォーマットと機能を確認する
ユーザーが実際に開くファイルを正確に把握することから始めます。必須フォーマットとたまに使うフォーマットを分け、テスト用の代表サンプルを記録します。
チェックリストの例:
- PDF および XPS ドキュメント
- ワードプロセッシング文書
- スプレッドシート
- プレゼンテーション
- CAD 図面
- メールファイル
- 一般的な画像フォーマット
次に、各ワークフローで重要になる機能を特定します。閲覧、テキスト検索、注釈、印刷、変換はそれぞれ異なる機能であり、異なる Doconut コンポーネントやライセンスが必要になることがあります。
フォーマットや機能を決定する前に、検証済みの Doconut Viewer ページ を確認してください。製品機能は変わる可能性があるため、受け入れテストは顧客が実際に使用するドキュメントの最終的な判断基準としてください。
手順 2: ドキュメントがアプリケーションに入る場所を選択する
ASP.NET アプリケーションは、以下のような管理されたソースからドキュメントを受け取れます。
- ASP.NET Core の
IFormFileとして処理されるアップロード - 保護されたファイルロケーション
- データベースまたはドキュメント管理リポジトリ
- サーバーがアクセスするオブジェクトストレージ
Streamを返す内部サービス
閲覧ワークフローはサーバーが認可したドキュメント参照を使用すべきです。クライアント側のマークアップにストレージ認証情報、無制限のファイルパス、永続的な公開 URL を埋め込んではいけません。
ユーザーがファイルをアップロードする場合は、レンダリング前に必ず検証します。ファイルサイズ、拡張子、シグネチャ、ビジネス固有の制限をチェックし、元のファイル名をパスとして信用せず、サーバー生成の識別子を保存します。
手順 3: 認証と認可を定義する
ビュー UI ではなく、アプリケーション側で「誰がドキュメントを開くことができるか」を決定すべきです。
ASP.NET Core では、認証ミドルウェア、[Authorize] 属性、ポリシー、クレーム、リソースベースの認可などの標準メカニズムで、閲覧セッション開始エンドポイントを保護できます。認可判断は現在のユーザーと要求されたドキュメントの両方を考慮すべきです。
安全なリクエストフローの例:
- ユーザーがアプリケーションレベルの識別子でドキュメントを要求する。
- サーバーがユーザーを認証する。
- サーバーがそのユーザーが対象ドキュメントにアクセスできるか検証する。
- サーバーが保護されたストレージロケーションを解決する。
- ビューアには認可済みセッションに必要な情報だけが渡される。
ツールバーのボタンを隠すだけで認可制御になると考えてはいけません。ダウンロードや印刷コントロールが表示されなくても、サーバー側のアクセスチェックは必須です。
手順 4: Doconut を公式統合リソースから追加する
Doconut が提供する最新パッケージとセットアップ手順を使用してください。検証済みの Doconut ダウンロードページ から NuGet 統合リソース、ドキュメント、サンプル、デモにアクセスできます。
正確なセットアップは以下に依存します。
- 使用している ASP.NET または .NET アプリケーションの種類
- 選択した Doconut 製品とプラグイン
- Doconut のバージョン
- ライセンス形態
- 有効化するドキュメントフォーマットと機能
- Windows サーバーの構成
インストールされたリリースに合わせたドキュメントに従ってください。名前空間、設定、アセットパス、API はバージョン間で変わることがあるため、無関係なブログ記事から初期化コードをコピーしないようにしましょう。
手順 5: 専用のビューイング境界を作成する
コントローラや UI コンポーネント全体で SDK 機能を呼び出すのではなく、ドキュメントビューイングを小さなアプリケーションサービスの背後に隠します。
このサービスの責務例:
- 認可済みドキュメント識別子の解決
- 必要に応じて制御された
Streamとしてドキュメントを開く - 必要なビューイング設定の提供
- ファイル・ストリームリソースの解放
- 技術的失敗を安全なアプリケーションエラーに変換
- ドキュメント内容をログに残さずに運用メトリクスを記録
この境界によりアップグレードが容易になり、プレゼンテーション層にストレージ詳細が漏れるリスクが減ります。また、テスト時に安全な実装に差し替える場所が明確になります。
手順 6: ビューアページを設計する
ビューアは十分なスペースが必要です。狭いカードに他のコントロールが散在すると、大きなスプレッドシートや CAD 図面の検査が困難になります。
ページ設計のポイント:
- 安定したビューア高さ
- 明確なローディング、空状態、エラー状態
- 簡潔なドキュメントタイトル表示
- キーボード操作可能な周辺コントロール
- 重要なビューアコントロールを隠さないレイアウト
- 親ワークフローに戻る明示的な手段
長いファイル名やページ数が多いファイル、横長スプレッドシート、詳細な図面、レンダリングに失敗するドキュメントでテストしてください。エラー状態ではサーバーパス、例外トレース、ストレージ URL を漏らさないようにします。
手順 7: ファイルと一時データを管理する
デプロイ前に保持ポリシーを定義します。元ファイル、一時レンダリングデータ、キャッシュ、エクスポート、注釈、ログを個別に扱いましょう。
有用な保護策:
- 権限が制限された専用の一時ディレクトリ
- ユニークなサーバー生成名
- 成功・失敗セッション後のクリーンアップ
- 放置された一時ファイル用のスケジュールプロセス
- ストレージクォータと監視
- 必要に応じた暗号化(セキュリティポリシーに準拠)
クリーンアップは可視化してください。削除が黙って失敗すると、一時ファイルが蓄積し、運用上もセキュリティ上も問題になります。
手順 8: 本番環境の保護策を構成する
ドキュメントレンダリングは CPU、メモリ、一時ディスク容量を消費します。明示的な制限でアプリケーションを保護しましょう。
- 最大アップロードサイズ
- 同時レンダリングジョブの上限
- リクエストおよび処理タイムアウト
- 非同期レンダリング時のキュー上限
- 一時ストレージクォータ
- ヘルスチェックと構造化エラーモニタリング
大規模または予測不可能な負荷が予想される場合は、レイテンシに敏感なアプリケーションプロセスからレンダリングを分離します。小さなテストファイルだけでなく、実際の顧客ドキュメントで測定してください。
手順 9: 完全なワークフローをテストする
「最初のページが表示された」だけでは不十分です。統合テストは次を網羅すべきです。
- 必要なすべてのファイル形式
- 小・大・マルチページ・破損ファイル
- 珍しいフォントを使用したドキュメント
- パスワード保護されたファイル(ワークフローでサポートする場合)
- 認可されたユーザーと未認可ユーザー
- 同時閲覧セッション
- アプリケーションの再起動やリクエストの中断
- 成功・失敗後のクリーンアップ
- 選択した製品構成に含まれるビューア機能
サニタイズ済みテストドキュメントのバージョン管理コレクションを保持し、Doconut、.NET、Windows Server、ストレージ基盤、関連依存関係をアップグレードするたびに再実行してください。
セキュリティチェックリスト
リリース前に以下を確認します。
- すべての閲覧リクエストが適切に認証されていること。
- 特定ドキュメントに対する認可がチェックされていること。
- ユーザー入力が無制限のサーバーファイルパスに変換されないこと。
- ストレージ認証情報がクライアントに渡らないこと。
- アップロード制限と検証が有効化されていること。
- 一時ファイルが制限されたアクセス権で保存され、クリーンアップポリシーがテスト済みであること。
- ログにドキュメント内容、シークレット、機密 URL が含まれないこと。
- ユーザーに表示されるエラーメッセージがサニタイズされていること。
- SDK とアプリケーションの依存関係が更新プロセスに従っていること。
ビューアコントロールはビジネスワークフローを支援しますが、情報が認可されたユーザーに表示された瞬間にすべてのキャプチャ手段を防げるわけではありません。アクセス制御と適切な情報保護ポリシーと併用してください。
Doconut の位置付け
Doconut は .NET アプリケーション内でドキュメント閲覧機能を提供しますが、アイデンティティ、認可、ファイルストレージ、保持、監査、周辺ワークフローは引き続きアプリケーション側の責任です。
この責任分担により、.NET チームは複数のレンダリングエンジンをゼロから構築することなく、ビジネスドキュメントをサポートする実用的な道筋を得られます。また、製品固有の統合詳細はデプロイするバージョンの公式ドキュメントに結び付けられたままです。
Doconut .NET ドキュメントビューア SDK を確認し、続いて 公式ダウンロードとドキュメントリソース を利用して自社ドキュメントで評価してください。
結論
信頼できる埋め込みドキュメントビューアは、明確なフォーマット要件と安全なサーバー側ドキュメントフローから始まります。入力を検証し、すべてのドキュメントリクエストを認可し、SDK へのアクセスをアプリケーションサービスで分離し、一時ファイルのクリーンアップを計画し、実際のファイルでテストしてください。
これらの基盤が整えば、Doconut は Windows ベースの .NET Web アプリケーション向けの閲覧レイヤーを提供し、チームはアプリケーションアーキテクチャとドキュメントライフサイクルの管理権を保持できます。