サーバーサイド文書レンダリング
定義
ドキュメントをサーバー上でページ画像に変換し、ブラウザは元のファイルを直接解析するのではなく、レンダリングされたページを表示します。
代替手段であるクライアントサイドレンダリングは、解析エンジンをブラウザに提供し、ファイルを渡します。これは PDF ではまずまず機能しますが、他のすべての形式ではうまくいきません。なぜなら、DOCX、XLSX、DWG、MSG 用のブラウザベースのレンダラを書くには、誰も二度資金提供したくない10年分の作業が必要になるからです。
サーバーサイドでのレンダリングは特性を逆転させます。フォーマットの対応は JavaScript バンドルの問題ではなく、サーバーサイドのライブラリの問題になります。クライアントはドキュメントの複雑さに関係なく軽量のままです。そして元のバイト列はブラウザに届かないため、文書を閲覧することと所有することが同じ行為ではなくなります。
コストは実在し、明示すべきです。レンダリングはサーバーの CPU とメモリを消費し、ページは画像としてネットワーク上を転送しなければなりません。実際には、ページはオンデマンドでレンダリングされるため、負荷は文書の長さよりもページの複雑さによって支配されます。
Doconutで
すべてのフォーマットは同じパスを通ります。Viewer.OpenDocumentAsync() はサーバーサイドでページをラスタライズし、不透明トークンを返します。JavaScript ウィジェットはそのトークンでページをリクエストします。ブラウザはソースドキュメントを受け取ることはありません。
関連用語
ドキュメントビューア SDK
自分のアプリケーションに組み込むライブラリで、ドキュメントを表示できるようにします。ファイルをアップロードするホスト型サービスとは異なります。SDKはあなたのプロセス内で実行され、サービスは他者のプロセス内で実行されます。
テキストレイヤー
文書内に視覚的外観と共に保存されている機械可読テキストです。検索とテキスト選択を可能にするものであり、スキャンされたページに正確に欠けているものです。
不透明セッショントークン
保持者に意味を持たない識別子で、サーバ側の状態を参照するものであり、記述するものではありません。そのためクライアントはそれを読み取ったり、変更したり、隣接する値を推測したりできません。