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#
| Tipe | Properti | Bawaan | Deskripsi |
|---|---|---|---|
bool | ShowThumbs | true | Tampilkan panel thumbnail. |
bool | AutoLoad | false | Muat secara otomatis setelah inisialisasi. Alur token normal memanggil View(token) secara eksplisit. |
bool | AutoFocus | true | Pindahkan fokus/gulir browser ke penampil selama inisialisasi. |
bool | AutoPageFocus | true | Pertahankan thumbnail saat ini terlihat saat halaman berubah. |
int | PageZoom | 100 | Persentase zoom awal. |
int | ZoomStep | 10 | Persentase yang ditambahkan atau dihapus oleh perintah zoom. |
int | MaxZoom | 300 | Persentase zoom maksimum. |
bool | ShowToolTip | true | Tampilkan tooltip posisi halaman saat menggulir. |
string | ToolTipPageText | "Page " | Awalan yang digunakan dalam tooltip halaman. |
bool | CacheEnabled | false | Pertahankan jendela bergerak gambar halaman dalam memori browser. Itu tidak menggunakan localStorage. |
bool | LargeDoc | false | Tambahkan elemen halaman dalam batch berwaktu untuk dokumen besar. |
bool | ShowHyperlinks | false | Render overlay hyperlink ketika konfigurasi server mengekstraknya. |
bool | FixedZoom | true | Gunakan persentase zoom tetap alih-alih perhitungan responsif. |
int | FixedZoomPercent | 100 | Zoom desktop tetap. |
int | FixedZoomPercentMobile | 75 | Zoom seluler tetap. |
string | BasePath | "/" | 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). |
string | ResPath | "doconut-res/images" | Folder tempat widget memuat gambar sendiri: folder images di bawah ResourcesPath, tanpa / di depan. |
string | FitType | "width" | "width", "height", atau kosong untuk tidak ada penyesuaian otomatis. "page" tidak diterima oleh widget saat ini. |
bool | RetryOn409 | false | Mencoba kembali permintaan halaman yang menjawab "still rendering". DocImage.axd merender secara sinkron dan tidak pernah mengirim sinyal itu; biarkan false. |
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 |
|---|---|
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 |
Default JavaScript
Widget memiliki default lama yang berbeda dari kelas C#. Nilai berikut berasal dari implementasi docViewer.js saat ini.
| Opsi | Default | Catatan |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | Batas lebar panel thumbnail. |
showThumbs | true | Visibilitas thumbnail awal. |
autoFocus / autoPageFocus | true / false | autoPageFocus berbeda dari default C#. |
thumbWidth / thumbHeight / thumbPadding | 150 / 200 / 10 | Geometri thumbnail dalam piksel. |
pageZoom / zoomStep / maxZoom | 100 / 10 / 200 | JavaScript maxZoom berbeda dari C# (300). |
showToolTip / toolTipPageText | true / "Page " | Tooltip posisi halaman. |
format / doc / AccessToken | "" / 0 / "" | Nilai inisialisasi internal; biasanya diisi oleh View(token). |
debugMode | false | Diagnostik 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 / cacheDelay | false / 3 / 3 | Jendela dan penundaan pramuat halaman dalam memori. |
autoLoad | false | Alur token eksplisit disarankan. |
largeDoc | true | Berbeda dari default C#. |
fixedZoom | false | Berbeda dari default C#. |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | Nilai seluler berbeda dari C# (75). |
showHyperlinks | true | Memerlukan ekstraksi sisi server untuk menghasilkan overlay. |
Atur semua nilai penting perilaku alih-alih mengandalkan salah satu set default:
<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
| Callback | Argumen | Tujuan |
|---|---|---|
onPageLoading | pageNum | Permintaan halaman sedang dimulai. |
onPageLoaded | pageNum | Gambar halaman selesai dimuat. |
onThumbnailClicked | pageNum | Pengguna memilih thumbnail. |
onPageClicked | pageNum | Pengguna memilih halaman. |
onDoubleClick | none | Penampil menerima klik ganda. |
onViewerBusy | none | Penampil masuk ke keadaan sibuk. |
onViewerReady | none | Inisialisasi selesai. |
onViewerError | none | Penampil masuk ke keadaan error. |
onError | message | Operasi mengembalikan pesan error. |
onCopy | data | Data salinan teks tersedia. |
onAutoLoadStatus | pageNum | Pemuat otomatis melanjutkan ke halaman. |
onThumbsShown | none | Panel thumbnail menjadi terlihat. |
onAnnLoaded | none | Data anotasi dimuat. |
onAnnSaved | none | Data anotasi disimpan. |
onAnnSaveError | none | Penyimpanan anotasi gagal. |
onAnnClosed | none | UI anotasi ditutup. |
Jaga callback tetap cepat; kirim telemetri secara asinkron dan jangan memblokir rendering halaman.
Grup metode publik
| Grup | Metode umum |
|---|---|
| Siklus Hidup | View(token, accessToken?), Close(server?), Token(), Init(), IsLoaded() |
| Navigasi | GotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages() |
| Zoom dan penyesuaian | Zoom(zoomIn), CurrentZoom(), FitType(value), Refit() |
| Orientasi | Rotate(page, angle), Flip(page, flipType) |
| Thumbnail | HideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb) |
| Pencarian | CanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...) |
| Anotasi | SaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...) |
| Salin | Copy(...), 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
BasePathadalah'/'ketika handlerDocImage.axdberada di akar situs — atributpathdari handler diWeb.configmenentukan 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.ResourcesPathadalah tempat modul sumber daya menyajikan file tersemat (/doconut-ressecara default).ResPathmenargetkan subfolderimages‑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 mengikutiResourcesPathjika Anda mengubahnya. ExtractHyperlinksharus diaktifkan dalam konfigurasi format server sebelumshowHyperlinksdapat menampilkan apa pun.
Apakah halaman ini membantu?