ViewerConfig

Opsi widget penampil klien

ViewerConfig (namespace Doconut) mendeskripsikan tampilan dan perilaku penampil browser. Ini tidak memengaruhi kualitas rendering dokumen; gunakan konfigurasi format untuk itu. Kelas C# dan widget JavaScript yang telah lama ada 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 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 "Awalan 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 ulang responsif.
intFixedZoomPercent100Zoom desktop tetap.
intFixedZoomPercentMobile75Zoom seluler tetap.
stringBasePath"/"Cabang tempat host memetakan UseDoconut().
stringResPath"doconut-res"Basis sumber daya yang digunakan oleh widget. Pada pengaturan normal arahkan ke <ResourcesPath>/images.
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",
    ResPath = "/doconut-res/images",
    ShowHyperlinks = true
};

Pemetaan C# ke JavaScript

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

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

Pengaturan Bawaan JavaScript

Widget memiliki default yang lebih lama dan berbeda dari kelas C#. Nilai‑nilai berikut diambil 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 preloading halaman dalam memori dan penundaan.
autoLoadfalseAlur token eksplisit direkomendasikan.
largeDoctrueBerbeda dari default C#.
fixedZoomfalseBerbeda dari default C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Nilai seluler berbeda dari C# (75).
showHyperlinkstrueMembutuhkan ekstraksi sisi server untuk menghasilkan overlay.

Tentukan semua nilai yang penting secara perilaku alih‑alih mengandalkan salah satu set default:

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.
onDoubleClicktidak adaPenampil menerima double‑click.
onViewerBusytidak adaPenampil masuk ke keadaan sibuk.
onViewerReadytidak adaInisialisasi selesai.
onViewerErrortidak adaPenampil masuk ke keadaan error.
onErrormessageOperasi mengembalikan pesan error.
onCopydataData salinan teks tersedia.
onAutoLoadStatuspageNumAuto‑loading maju ke halaman.
onThumbsShowntidak adaPanel thumbnail menjadi terlihat.
onAnnLoadedtidak adaData anotasi dimuat.
onAnnSavedtidak adaData anotasi disimpan.
onAnnSaveErrortidak adaPenyimpanan anotasi gagal.
onAnnClosedtidak adaUI anotasi ditutup.

Jaga callback tetap cepat; kirim telemetry secara asinkron 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.

Retry saat halaman terdistribusi masih dirender

retryOn409 mempertahankan nama historisnya. Ini untuk produksi halaman asinkron dan melakukan retry pada respons kesiapan 202 Accepted serta sinyal 409 Conflict yang lebih lama. Ketika diaktifkan, widget melakukan polling dengan pengaturan bawaan JavaScript berikut:

OpsiBawaan
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

Biarkan nonaktif 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 tersebut.
  • DoconutOptions.ResourcesPath adalah rute sumber daya tersemat.
  • ResPath biasanya menargetkan subfolder /images‑nya.
  • ExtractHyperlinks harus diaktifkan dalam konfigurasi format server sebelum showHyperlinks dapat menampilkan apa pun.

Apakah halaman ini membantu?