ViewerConfig

Opsi widget penampil klien

ViewerConfig (namespace Doconut) menjelaskan tampilan dan perilaku penampil browser. Ini tidak memengaruhi kualitas rendering dokumen; gunakan konfigurasi format untuk itu. Kelas C# dan widget JavaScript yang sudah lama memiliki default yang berbeda, jadi petakan nilai secara eksplisit.

Properti C#

TipePropertiBawaanDeskripsi
boolShowThumbstrueTampilkan panel thumbnail.
boolAutoLoadfalseMuat secara otomatis setelah inisialisasi. Alur token normal memanggil View(token) secara eksplisit.
boolAutoFocustruePindahkan fokus/scroll browser ke penampil selama inisialisasi.
boolAutoPageFocustruePertahankan thumbnail saat ini tetap terlihat saat halaman berubah.
intPageZoom100Persentase zoom awal.
intZoomStep10Persentase yang ditambahkan atau dikurangi oleh perintah zoom.
intMaxZoom300Persentase zoom maksimum.
boolShowToolTiptrueTampilkan tooltip posisi halaman saat menggulir.
stringToolTipPageText"Page "Prefiks yang digunakan dalam tooltip halaman.
boolCacheEnabledfalsePertahankan jendela bergerak gambar halaman dalam memori browser. Tidak menggunakan localStorage.
boolLargeDocfalseTambahkan elemen halaman dalam batch berwaktu untuk dokumen besar.
boolShowHyperlinksfalseRender overlay hyperlink ketika konfigurasi server mengekstraknya.
boolFixedZoomtrueGunakan persentase zoom tetap alih-alih perhitungan responsif.
intFixedZoomPercent100Zoom desktop tetap.
intFixedZoomPercentMobile75Zoom seluler tetap.
stringBasePath"/"Tempat penampil mengirim permintaan halaman. "/" adalah DocImage.axd di akar situs; selain itu cabang tempat host memetakan UseDoconut(), tanpa / di depan ("doconut" berarti /doconut/DocImage.axd).
stringResPath"doconut-res/images" (26.9.0; "doconut-res" before)Folder tempat widget memuat gambar sendiri: folder images di bawah ResourcesPath, tanpa / di depan.
stringFitType"width""width", "height", atau kosong untuk tidak ada penyesuaian otomatis. "page" tidak diterima oleh widget saat ini.
boolRetryOn409falseAktifkan polling ketika produksi halaman asinkron/terdistribusi merespons 202 Accepted; 409 juga diterima untuk kompatibilitas dengan server lama. Tidak diperlukan oleh penampil sinkron normal.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "doconut",           // tidak ada '/' di depan: penampil akan menambahkannya ("/doconut" akan menjadi //doconut, host lain)
    ResPath = "doconut-res/images",
    ShowHyperlinks = true
};

Pemetaaan C# ke JavaScript

Jangan mengirimkan ViewerConfig yang diserialisasi secara langsung ke docViewer(...). Sebagian besar kunci widget menggunakan camelCase, sementara tiga kunci jalur/fit yang sudah ada menggunakan PascalCase.

C#JavaScript
ShowThumbsshowThumbs
AutoLoadautoLoad
AutoFocusautoFocus
AutoPageFocusautoPageFocus
PageZoompageZoom
ZoomStepzoomStep
MaxZoommaxZoom
ShowToolTipshowToolTip
ToolTipPageTexttoolTipPageText
CacheEnabledcacheEnabled
LargeDoclargeDoc
ShowHyperlinksshowHyperlinks
FixedZoomfixedZoom
FixedZoomPercentfixedZoomPercent
FixedZoomPercentMobilefixedZoomPercentMobile
BasePathBasePath
ResPathResPath
FitTypeFitType
RetryOn409retryOn409

JavaScript Bawaan

Widget memiliki nilai bawaan lama yang berbeda dari kelas C#. Nilai berikut berasal dari implementasi docViewer.js saat ini.

OpsiBawaanCatatan
leftMinWidth / leftMaxWidth220 / 800Batas lebar panel thumbnail.
showThumbstrueVisibilitas thumbnail awal.
autoFocus / autoPageFocustrue / falseautoPageFocus berbeda dari default C#.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Geometri thumbnail dalam piksel.
pageZoom / zoomStep / maxZoom100 / 10 / 200maxZoom JavaScript berbeda dari C# (300).
showToolTip / toolTipPageTexttrue / "Page "Tooltip posisi halaman.
format / doc / AccessToken"" / 0 / ""Nilai inisialisasi internal; biasanya diisi oleh View(token).
debugModefalseDiagnostik klien tambahan.
FitType""Tidak ada penyesuaian otomatis kecuali disediakan.
BasePath"DocImage.axd"Default klien historis dipertahankan untuk kompatibilitas. Host ASP.NET Core saat ini harus mengaturnya secara eksplisit ke cabang middleware yang dipetakan.
ResPath""Atur secara eksplisit ke jalur gambar tersemat.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Jendela dan penundaan preloading halaman dalam memori.
autoLoadfalseAlur token eksplisit disarankan.
largeDoctrueBerbeda dari default C#.
fixedZoomfalseBerbeda dari default C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Nilai mobile berbeda dari C# (75).
showHyperlinkstrueMemerlukan ekstraksi sisi server untuk menghasilkan overlay.

Atur semua nilai penting perilaku alih-alih bergantung pada salah satu set bawaan:

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>

Panggilan Balik

CallbackArgumenTujuan
onPageLoadingpageNumPermintaan halaman sedang dimulai.
onPageLoadedpageNumGambar halaman selesai dimuat.
onThumbnailClickedpageNumPengguna memilih thumbnail.
onPageClickedpageNumPengguna memilih halaman.
onDoubleClicknoneViewer menerima double-click.
onViewerBusynoneViewer masuk ke keadaan sibuk.
onViewerReadynoneInisialisasi selesai.
onViewerErrornoneViewer masuk ke keadaan error.
onErrormessageOperasi mengembalikan pesan error.
onCopydataData salinan teks tersedia.
onAutoLoadStatuspageNumAuto-loading melanjutkan ke halaman.
onThumbsShownnonePanel thumbnail menjadi terlihat.
onAnnLoadednoneData anotasi dimuat.
onAnnSavednoneData anotasi disimpan.
onAnnSaveErrornonePenyimpanan anotasi gagal.
onAnnClosednoneUI anotasi ditutup.

Jaga callback tetap cepat; kirim telemetry secara asynchronous dan jangan memblokir rendering halaman.

Grup Metode Publik

GrupMetode umum
Siklus HidupView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
NavigasiGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Zoom dan penyesuaianZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
OrientasiRotate(page, angle), Flip(page, flipType)
ThumbnailHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
PencarianCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
AnotasiSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
SalinCopy(...), CopyPage(pageNumber), CopyMode(enabled)

File JavaScript juga berisi pembantu internal. Perlakukan hanya metode yang digunakan oleh UI referensi dan didokumentasikan di sini atau dalam panduan fitur sebagai titik integrasi yang stabil.

Coba ulang saat halaman terdistribusi masih merender

retryOn409 mempertahankan nama historisnya. Ini untuk produksi halaman asinkron dan mencoba kembali respons kesiapan 202 Accepted saat ini serta sinyal 409 Conflict yang lebih lama. Ketika diaktifkan, widget melakukan polling dengan default JavaScript berikut:

OpsiBawaan
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

Biarkan dinonaktifkan untuk penampil normal. Mengaktifkannya tidak dapat membuat render sinkron yang tidak didukung menjadi asinkron.

Daftar periksa jalur

  • DoconutOptions.MiddlewarePath harus menggambarkan cabang yang sebenarnya Anda petakan.
  • BasePath harus menargetkan cabang itu, ditulis tanpa awalan / ('doconut', bukan '/doconut': penampil menambahkan garis miring, dan //doconut/... adalah permintaan ke host lain).
  • DoconutOptions.ResourcesPath adalah rute sumber daya yang disematkan.
  • ResPath biasanya menargetkan subfolder images-nya, juga tanpa awalan / ('doconut-res/images').
  • ExtractHyperlinks harus diaktifkan dalam konfigurasi format server sebelum showHyperlinks dapat menampilkan apa pun.

Apakah halaman ini membantu?