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 を指し、UseDoconut() がマッピングされたブランチを使用する場合は先頭の / を付けずに指定します(例: "doconut" は /doconut/DocImage.axd)。 |
string | ResPath | "doconut-res/images" (26.9.0; "doconut-res" before) | ウィジェットが独自画像を読み込むフォルダー:ResourcesPath 配下の images フォルダー、先頭に / は付けません。 |
string | FitType | "width" | "width"、"height"、または自動フィットなしの場合は空文字。現在のウィジェットでは "page" は受け付けません。 |
bool | RetryOn409 | false | 非同期/分散ページリクエストが 409 を返したときにポーリングを有効にします。通常の同期ビューアでは不要です。 |
csharp
var config = new ViewerConfig
{
ShowThumbs = true,
AutoLoad = false,
PageZoom = 100,
MaxZoom = 300,
FitType = "width",
BasePath = "doconut", // 先頭に '/' がない: ビューアが自動で付加します ("/doconut" は //doconut になり、別のホストになります)
ResPath = "doconut-res/images",
ShowHyperlinks = true
};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" | 従来ハンドラのデフォルト。ASP.NET Core では明示的に設定してください。 |
ResPath | "" | 埋め込み画像パスを明示的に設定してください。 |
cacheEnabled / cacheCount / cacheDelay | false / 3 / 3 | メモリ内ページ事前読み込みウィンドウと遅延。 |
autoLoad | false | 明示的なトークンフローが推奨されます。 |
largeDoc | true | C# のデフォルトとは異なります。 |
fixedZoom | false | C# のデフォルトとは異なります。 |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | モバイル側の値は C#(75)と異なります。 |
showHyperlinks | true | オーバーレイを生成するにはサーバー側で抽出が必要です。 |
デフォルトに依存せず、動作上重要なすべての値を明示的に設定してください。
html
<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: 'doconut',
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 が使用するメソッドのみを安定した統合ポイントとして扱ってください。
HTTP 409 後のリトライ
retryOn409 は非同期ページ生成のためのものです。有効にすると、ウィジェットは以下の JavaScript デフォルトでポーリングします。
| オプション | デフォルト |
|---|---|
retryInitialDelayMs | 250 |
retryBackoffFactor | 1.6 |
retryMaxDelayMs | 2500 |
retryMaxAttempts | 60 |
retryMaxTotalMs | 120000 |
通常のビューアでは無効のままにしてください。有効にしても、サポートされていない同期レンダリングを非同期にすることはできません。
パスチェックリスト
DoconutOptions.MiddlewarePathは実際にマッピングするブランチを記述する必要があります。BasePathはそのブランチを対象とし、先頭の/を付けずに記述してください('doconut'、'/doconut'ではなく:ビューアがスラッシュを追加し、//doconut/...は別ホストへのリクエストになります)。DoconutOptions.ResourcesPathは埋め込みリソースのルートです。ResPathは通常、そのimagesサブフォルダを対象とし、先頭の/を付けません('doconut-res/images')。ExtractHyperlinksはshowHyperlinksが何かを表示できるようにする前に、サーバーのフォーマット設定で有効にする必要があります。
このページは役に立ちましたか?