ViewerConfig
クライアントビューアウィジェットオプション
ViewerConfig(名前空間 Doconut)は、ブラウザビューアの外観と動作を記述します。ドキュメントのレンダリング品質には影響しません。そのためにはフォーマット設定を使用してください。C# クラスとレガシー JavaScript プラグインはデフォルトが異なるため、値は明示的にマッピングしてください。
C# プロパティ
| 型 | プロパティ | デフォルト | 説明 |
|---|---|---|---|
bool | ShowThumbs | true | サムネイルパネルを表示します。 |
bool | AutoLoad | false | 初期化後に自動的にロードします。通常のトークンフローでは View(token) を明示的に呼び出します。 |
bool | AutoFocus | true | 初期化時にブラウザのフォーカス/スクロールをビューアへ移動します。 |
bool | AutoPageFocus | true | ページが変更されても現在のサムネイルが表示されたままになるようにします。 |
int | PageZoom | 100 | 初期ズーム率(パーセンテージ)。 |
int | ZoomStep | 10 | ズームコマンドで加算または減算されるパーセンテージ。 |
int | MaxZoom | 300 | 最大ズーム率(パーセンテージ)。 |
bool | ShowToolTip | true | スクロール中にページ位置ツールチップを表示します。 |
string | ToolTipPageText | "Page " | ページツールチップで使用されるプレフィックス。 |
bool | CacheEnabled | false | ブラウザメモリにページ画像のスライディングウィンドウを保持します。localStorage は使用しません。 |
bool | LargeDoc | false | 大きなドキュメント向けに、ページ要素を時間間隔でバッチ追加します。 |
bool | ShowHyperlinks | false | サーバー設定で抽出されたハイパーリンクオーバーレイをレンダリングします。 |
bool | FixedZoom | true | レスポンシブな再計算ではなく、固定ズーム率を使用します。 |
int | FixedZoomPercent | 100 | デスクトップ用の固定ズーム率。 |
int | FixedZoomPercentMobile | 75 | モバイル用の固定ズーム率。 |
string | BasePath | "/" | ビューアがページリクエストを送信する場所です。"/" はサイトルートにある DocImage.axd ハンドラです。仮想ディレクトリ内のアプリケーションの場合は、先頭の / を付けずにディレクトリ名を使用します(例: "myapp" は /myapp/DocImage.axd を意味します)。 |
string | ResPath | "doconut-res/images" | ウィジェットが自身の画像を読み込むフォルダです。ResourcesPath 配下の images フォルダで、先頭に / を付けません。 |
string | FitType | "width" | "width"、"height"、または自動フィットしない場合は空文字を指定します。現在のウィジェットでは "page" は受け付けられません。 |
bool | RetryOn409 | false | "still rendering" と応答するページリクエストを再試行します。DocImage.axd は同期的にレンダリングし、このシグナルは送信しないため、false のままにしてください。 |
var config = new ViewerConfig
{
ShowThumbs = true,
AutoLoad = false,
PageZoom = 100,
MaxZoom = 300,
FitType = "width",
BasePath = "/", // "/" = the DocImage.axd handler at the site root (Web.config)
ResPath = "doconut-res/images", // the images folder under ResourcesPath, no leading '/'
ShowHyperlinks = true
};
// Emit it with viewer.RenderViewer("viewerEl", token, config) - see the Viewer reference.viewer.RenderViewer("viewerEl", token, config) で出力します - Viewer のリファレンスを参照してください。
RenderViewer を使用した ViewerConfig の生成
Viewer.RenderViewer(elementId, token, config) は ViewerConfig をウィジェットの初期化スクリプトに変換します。上記のプロパティのうち 6 つ(BasePath、ResPath、ShowThumbs、AutoLoad、PageZoom、FitType)を書き出し、その後 View(token) を呼び出します。他のプロパティは書き出されません。MaxZoom、ShowHyperlinks、ズーム設定、またはコールバックについては、以下の JavaScript オプションでウィジェットを自分で初期化してください。RenderViewer の詳細は ビューア を参照してください。
C# から JavaScript へのマッピング
ViewerConfig を直接シリアライズした状態で docViewer(...) に渡さないでください。ほとんどのウィジェットキーは camelCase ですが、パス/フィットに関する 3 つのキーは PascalCase です。
| C# | JavaScript |
|---|---|
ShowThumbs | showThumbs |
AutoLoad | autoLoad |
AutoFocus | autoFocus |
AutoPageFocus | autoPageFocus |
PageZoom | pageZoom |
ZoomStep | zoomStep |
MaxZoom | maxZoom |
ShowToolTip | showToolTip |
ToolTipPageText | toolTipPageText |
CacheEnabled | cacheEnabled |
LargeDoc | largeDoc |
ShowHyperlinks | showHyperlinks |
FixedZoom | fixedZoom |
FixedZoomPercent | fixedZoomPercent |
FixedZoomPercentMobile | fixedZoomPercentMobile |
BasePath | BasePath |
ResPath | ResPath |
FitType | FitType |
RetryOn409 | retryOn409 |
JavaScript のデフォルト
ウィジェットには、C# クラスとは異なる古いデフォルトがあります。以下の値は現在の docViewer.js 実装から取得したものです。
| オプション | デフォルト | 備考 |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | サムネイルペインの幅の範囲。 |
showThumbs | true | 初期サムネイルの表示状態。 |
autoFocus / autoPageFocus | true / false | autoPageFocus は C# のデフォルトとは異なります。 |
thumbWidth / thumbHeight / thumbPadding | 150 / 200 / 10 | ピクセル単位のサムネイルジオメトリ。 |
pageZoom / zoomStep / maxZoom | 100 / 10 / 200 | JavaScript の maxZoom は C# (300) と異なります。 |
showToolTip / toolTipPageText | true / "Page " | ページ位置のツールチップ。 |
format / doc / AccessToken | "" / 0 / "" | 内部初期化値。通常は View(token) によって設定されます。 |
debugMode | false | 追加のクライアント診断情報。 |
FitType | "" | 指定がない限り自動フィットは行われません。 |
BasePath | "DocImage.axd" | レガシーなデフォルト。ハンドラをサイトルートに設定するには '/' を明示的に指定します。 |
ResPath | "" | 埋め込み画像パスを明示的に設定します。 |
cacheEnabled / cacheCount / cacheDelay | false / 3 / 3 | メモリ内ページ事前読み込みウィンドウと遅延。 |
autoLoad | false | 明示的なトークンフローが推奨されます。 |
largeDoc | true | C# のデフォルトとは異なります。 |
fixedZoom | false | C# のデフォルトとは異なります。 |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | モバイル値は C# (75) と異なります。 |
showHyperlinks | true | オーバーレイを生成するためにサーバー側で抽出が必要です。 |
いずれかのデフォルトに依存せず、動作上重要なすべての値を設定してください:
<div id="divDocViewer"><div id="div_ctlDoc"></div></div>
<script>
const objViewer = $('#div_ctlDoc').docViewer({
showThumbs: true,
autoLoad: false,
autoFocus: true,
autoPageFocus: true,
pageZoom: 100,
zoomStep: 10,
maxZoom: 300,
FitType: 'width',
cacheEnabled: false,
largeDoc: false,
showHyperlinks: true,
fixedZoom: true,
fixedZoomPercent: 100,
fixedZoomPercentMobile: 75,
BasePath: '/',
ResPath: 'doconut-res/images',
onViewerReady: function () {},
onError: function (message) { console.error('DocViewer:', message); }
});
</script>コールバック
| コールバック | 引数 | 目的 |
|---|---|---|
onPageLoading | pageNum | ページリクエストが開始されます。 |
onPageLoaded | pageNum | ページ画像の読み込みが完了しました。 |
onThumbnailClicked | pageNum | ユーザーがサムネイルを選択しました。 |
onPageClicked | pageNum | ユーザーがページを選択しました。 |
onDoubleClick | none | ビューアがダブルクリックを受け取りました。 |
onViewerBusy | none | ビューアがビジー状態になりました。 |
onViewerReady | none | 初期化が完了しました。 |
onViewerError | none | ビューアがエラー状態になりました。 |
onError | message | 操作がエラーメッセージを返しました。 |
onCopy | data | テキストコピーのデータが利用可能です。 |
onAutoLoadStatus | pageNum | 自動ロードがページに進みました。 |
onThumbsShown | none | サムネイルパネルが表示されました。 |
onAnnLoaded | none | アノテーションデータがロードされました。 |
onAnnSaved | none | アノテーションデータが保存されました。 |
onAnnSaveError | none | アノテーションの保存に失敗しました。 |
onAnnClosed | none | アノテーション UI が閉じられました。 |
コールバックは高速に保ち、テレメトリは非同期で送信し、ページのレンダリングをブロックしないでください。
パブリックメソッドグループ
| グループ | 共通メソッド |
|---|---|
| ライフサイクル | View(token, accessToken?), Close(server?), Token(), Init(), IsLoaded() |
| ナビゲーション | GotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages() |
| ズームとフィット | Zoom(zoomIn), CurrentZoom(), FitType(value), Refit() |
| 向き | Rotate(page, angle), Flip(page, flipType) |
| サムネイル | HideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb) |
| 検索 | CanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...) |
| アノテーション | SaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...) |
| コピー | Copy(...), CopyPage(pageNumber), CopyMode(enabled) |
JavaScript ファイルには内部ヘルパーも含まれています。リファレンス UI で使用され、ここまたは機能ガイドで文書化されているメソッドのみを安定した統合ポイントとして扱ってください。
リトライオプション
ウィジェットは retryOn409 とそのバックオフ設定(retryInitialDelayMs、retryBackoffFactor、retryMaxDelayMs、retryMaxAttempts、retryMaxTotalMs)も受け付けます。これらはページがバックグラウンドで生成されるデプロイに役立ちます。DocImage.axd はリクエスト中にすべてのページをレンダリングするため、retryOn409 はオフにしてください。
パスチェックリスト
BasePathはDocImage.axdハンドラがサイトルートにある場合は'/'です —Web.configのハンドラのpath属性が応答先を決定します。仮想ディレクトリの場合は、先頭の/を付けずにディレクトリ名を使用します('myapp'、'/myapp'ではなく:ビューアがスラッシュを追加し、//myapp/...は別ホストへのリクエストになります)。DoconutOptions.ResourcesPathはリソースモジュールが埋め込みファイルを提供する場所です(デフォルトは/doconut-res)。ResPathはそのimagesサブフォルダを対象とします。こちらも先頭の/を付けません('doconut-res/images')。'doconut-res'を指定すると、すべてのアイコンが 404 になり、ドキュメントはまだレンダリングされます。- MVC では、
ResourcesPathを変更した場合、routes.IgnoreRoute("doconut-res/{*pathInfo}")をそれに続ける必要があります。 ExtractHyperlinksはshowHyperlinksが何かを表示できるようになる前に、サーバーフォーマット設定で有効にしなければなりません。
このページは役に立ちましたか?