ViewerConfig

Opsi widget penampil klien

ViewerConfig (namespace Doconut) menjelaskan tampilan dan perilaku penampil browser. Itu tidak memengaruhi kualitas rendering dokumen; gunakan konfigurasi format untuk itu. Kelas C# dan plugin JavaScript legacy memiliki nilai 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/gulir browser ke penampil selama inisialisasi.
boolAutoPageFocustruePertahankan thumbnail saat ini terlihat saat halaman berubah.
intPageZoom100Persentase zoom awal.
intZoomStep10Persentase yang ditambahkan atau dihapus 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. Itu 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 handler DocImage.axd di root situs. Untuk aplikasi dalam direktori virtual, gunakan nama direktori tanpa / di depan ("myapp" berarti /myapp/DocImage.axd).
stringResPath"doconut-res/images"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.
boolRetryOn409falseMencoba kembali permintaan halaman yang menjawab "still rendering". DocImage.axd merender secara sinkron dan tidak pernah mengirim sinyal itu; biarkan false.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/",                 // "/" = handler DocImage.axd di root situs (Web.config)
    ResPath = "doconut-res/images", // folder images di bawah ResourcesPath, tanpa '/' di depan
    ShowHyperlinks = true
};
// Keluarkan dengan viewer.RenderViewer("viewerEl", token, config) - lihat referensi Viewer.

Menghasilkan ViewerConfig dengan RenderViewer

Viewer.RenderViewer(elementId, token, config) mengubah ViewerConfig menjadi skrip inisialisasi widget. Ia menulis enam properti di atas — BasePath, ResPath, ShowThumbs, AutoLoad, PageZoom, dan FitType — dan kemudian memanggil View(token). Properti lainnya tidak ditulis: untuk MaxZoom, ShowHyperlinks, pengaturan zoom, atau callback apa pun, inisialisasi widget sendiri dengan opsi JavaScript di bawah ini. Lihat Penampil untuk RenderViewer.

Pemetaan C# ke JavaScript

Jangan mengirim ViewerConfig yang diserialkan langsung ke docViewer(...). Sebagian besar kunci widget menggunakan camelCase, sementara tiga kunci path/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

Default JavaScript

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

OpsiDefaultCatatan
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 / 200JavaScript maxZoom 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 warisan. Atur secara eksplisit: '/' untuk penangan di akar situs.
ResPath""Atur secara eksplisit ke jalur gambar tersemat.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Jendela dan penundaan pramuat halaman dalam memori.
autoLoadfalseAlur token eksplisit disarankan.
largeDoctrueBerbeda dari default C#.
fixedZoomfalseBerbeda dari default C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Nilai seluler berbeda dari C# (75).
showHyperlinkstrueMemerlukan ekstraksi sisi server untuk menghasilkan overlay.

Atur semua nilai penting 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: '/',
    ResPath: 'doconut-res/images',
    onViewerReady: function () {},
    onError: function (message) { console.error('DocViewer:', message); }
});
</script>

Callback

CallbackArgumenTujuan
onPageLoadingpageNumPermintaan halaman sedang dimulai.
onPageLoadedpageNumGambar halaman selesai dimuat.
onThumbnailClickedpageNumPengguna memilih thumbnail.
onPageClickedpageNumPengguna memilih halaman.
onDoubleClicknonePenampil menerima klik ganda.
onViewerBusynonePenampil masuk ke keadaan sibuk.
onViewerReadynoneInisialisasi selesai.
onViewerErrornonePenampil masuk ke keadaan error.
onErrormessageOperasi mengembalikan pesan error.
onCopydataData salinan teks tersedia.
onAutoLoadStatuspageNumPemuat otomatis melanjutkan ke halaman.
onThumbsShownnonePanel thumbnail menjadi terlihat.
onAnnLoadednoneData anotasi dimuat.
onAnnSavednoneData anotasi disimpan.
onAnnSaveErrornonePenyimpanan anotasi gagal.
onAnnClosednoneUI anotasi ditutup.

Jaga callback tetap cepat; kirim telemetri 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.

Opsi Pengulangan

Widget ini juga menerima retryOn409 dan pengaturan backoff‑nya (retryInitialDelayMs, retryBackoffFactor, retryMaxDelayMs, retryMaxAttempts, retryMaxTotalMs). Mereka melayani penyebaran yang halaman‑halamannya diproduksi di latar belakang. DocImage.axd merender setiap halaman selama permintaan, jadi biarkan retryOn409 dimatikan.

Daftar Periksa Jalur

  • BasePath adalah '/' ketika handler DocImage.axd berada di akar situs — atribut path dari handler di Web.config menentukan ke mana ia menjawab. Dalam direktori virtual, gunakan nama direktori tanpa / di depan ('myapp', bukan '/myapp': penampil menambahkan garis miring, dan //myapp/... adalah permintaan ke host lain).
  • DoconutOptions.ResourcesPath adalah tempat modul sumber daya menyajikan file tersemat (/doconut-res secara default).
  • ResPath menargetkan subfolder images‑nya, juga tanpa / di depan ('doconut-res/images'). Menunjukkannya ke 'doconut-res' membuat semua ikon 404 sementara dokumen tetap dirender.
  • Dalam MVC, routes.IgnoreRoute("doconut-res/{*pathInfo}") harus mengikuti ResourcesPath jika Anda mengubahnya.
  • ExtractHyperlinks harus diaktifkan dalam konfigurasi format server sebelum showHyperlinks dapat menampilkan apa pun.

Apakah halaman ini membantu?