پیکربندی‌نمایشگر

گزینه‌های ویجت نمایشگر مشتری

ViewerConfig (namespace Doconut) توصیف‌کننده ظاهر و رفتار نمایشگر مرورگر است. این مورد بر کیفیت رندر سند تأثیری ندارد؛ برای آن از یک پیکربندی فرمت استفاده کنید. کلاس C# و افزونهٔ قدیمی JavaScript مقادیر پیش‌فرض متفاوتی دارند، بنابراین مقادیر را به‌صورت صریح نگاشت کنید.

ویژگی‌های C#

TypePropertyDefaultDescription
boolShowThumbstrueپنل تصویر بندانگشتی را نشان می‌دهد.
boolAutoLoadfalseبه‌صورت خودکار پس از مقداردهی اولیه بارگذاری می‌شود. جریان معمول توکن به‌طور صریح View(token) را فراخوانی می‌کند.
boolAutoFocustrueتمرکز/اسکرول مرورگر را در طول مقداردهی اولیه به نمایشگر منتقل می‌کند.
boolAutoPageFocustrueتصویر بندانگشتی جاری را هنگام تغییر صفحات قابل مشاهده نگه می‌دارد.
intPageZoom100درصد زوم اولیه.
intZoomStep10درصدی که توسط دستورات زوم اضافه یا حذف می‌شود.
intMaxZoom300حداکثر درصد زوم.
boolShowToolTiptrueنکته‌نمای موقعیت صفحه را هنگام اسکرول نشان می‌دهد.
stringToolTipPageText"Page "پیشوند مورد استفاده در نکته‌نمای صفحه.
boolCacheEnabledfalseیک پنجرهٔ متحرک از تصاویر صفحه را در حافظه مرورگر نگه می‌دارد. از localStorage استفاده نمی‌کند.
boolLargeDocfalseعناصر صفحه را به‌صورت دسته‌های زمانی برای اسناد بزرگ اضافه می‌کند.
boolShowHyperlinksfalseلایه‌های ابرپیوند را زمانی که پیکربندی سرور آن‌ها را استخراج کرده‌اند، رندر می‌کند.
boolFixedZoomtrueبه‌جای محاسبهٔ واکنش‌گرا، از درصد زوم ثابت استفاده می‌کند.
intFixedZoomPercent100زوم ثابت برای دسکتاپ.
intFixedZoomPercentMobile75زوم ثابت برای موبایل.
stringBasePath"/"مکانی که نمایشگر درخواست‌های صفحه را به آن می‌فرستد. "/" هندلر DocImage.axd در ریشهٔ سایت است. برای برنامه‌ای در یک دایرکتوری مجازی، نام دایرکتوری را بدون پیشوند / استفاده کنید ("myapp" به معنای /myapp/DocImage.axd است).
stringResPath"doconut-res/images"پوشه‌ای که ویجت تصاویر خود را از آن بارگذاری می‌کند: پوشهٔ images زیر ResourcesPath، بدون پیشوند /.
stringFitType"width""width"، "height"، یا خالی برای عدم تناسب خودکار. "page" توسط ویجت فعلی پذیرفته نمی‌شود.
boolRetryOn409falseدرخواست‌های صفحه‌ای که پاسخ «هنوز در حال رندر» می‌دهند را دوباره تلاش می‌کند. DocImage.axd به‌صورت همزمان رندر می‌شود و هرگز این سیگنال را ارسال نمی‌کند؛ آن را false بگذارید.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/",                 // "/" = هندلر DocImage.axd در ریشه سایت (Web.config)
    ResPath = "doconut-res/images", // پوشه images زیر ResourcesPath، بدون '/' پیش‌رو
    ShowHyperlinks = true
};
// با viewer.RenderViewer("viewerEl", token, config) آن را صادر کنید - به مرجع Viewer مراجعه کنید.

تولید ViewerConfig با RenderViewer

Viewer.RenderViewer(elementId, token, config) یک ViewerConfig را به اسکریپت مقداردهی اولیهٔ ویجت تبدیل می‌کند. این مورد شش تا از ویژگی‌های بالا را می‌نویسد — BasePath، ResPath، ShowThumbs، AutoLoad، PageZoom و FitType — و سپس View(token) را فراخوانی می‌کند. سایر ویژگی‌ها نوشته نمی‌شوند: برای MaxZoom، ShowHyperlinks، تنظیمات زوم یا هر فراخوانی، خودتان ویجت را با گزینه‌های JavaScript زیر مقداردهی کنید. برای RenderViewer به نمایشگر مراجعه کنید.

نگاشت C# به JavaScript

به ViewerConfig که به‌صورت مستقیم سریال‌سازی شده است، به docViewer(...) پاس ندهید. بیشتر کلیدهای ویجت به صورت camelCase هستند، در حالی که سه کلید مسیر/تناسب ثابت به صورت PascalCase هستند.

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

پیش‌فرض‌های جاوااسکریپت

ویجت دارای پیش‌فرض‌های قدیمی‌تری است که با کلاس C# متفاوت هستند. مقادیر زیر از پیاده‌سازی فعلی docViewer.js آمده‌اند.

گزینهپیش‌فرضیادداشت‌ها
leftMinWidth / leftMaxWidth220 / 800حدود عرض پنل تصویر کوچک.
showThumbstrueقابلیت مشاهده اولیه تصویر کوچک.
autoFocus / autoPageFocustrue / falseautoPageFocus متفاوت از پیش‌فرض C# است.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10هندسه تصویر کوچک به پیکسل.
pageZoom / zoomStep / maxZoom100 / 10 / 200JavaScript maxZoom متفاوت از C# (300) است.
showToolTip / toolTipPageTexttrue / "Page "راهنمای ابزار موقعیت صفحه.
format / doc / AccessToken"" / 0 / ""مقادیر داخلی مقداردهی اولیه؛ معمولاً توسط View(token) پر می‌شوند.
debugModefalseتشخیص‌های اضافی کلاینت.
FitType""بدون تناسب خودکار مگر اینکه ارائه شود.
BasePath"DocImage.axd"پیش‌فرض قدیمی. به‌صورت صریح تنظیم کنید: '/' برای هندلر در ریشه سایت.
ResPath""به‌صورت صریح به مسیر تصاویر جاسازی‌شده تنظیم کنید.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3پنجره پیش‌بارگذاری صفحه در حافظه و تاخیر.
autoLoadfalseجریان توکن صریح توصیه می‌شود.
largeDoctrueمتفاوت از پیش‌فرض C#.
fixedZoomfalseمتفاوت از پیش‌فرض C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50مقدار موبایل متفاوت از C# (75) است.
showHyperlinkstrueنیاز به استخراج سمت سرور برای تولید لایه‌های پوششی دارد.

تمام مقادیر مهم رفتاری را تنظیم کنید به‌جای تکیه بر هر یک از مجموعه‌های پیش‌فرض:

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>

بازخوانی‌ها

بازخوانیآرگومان‌هاهدف
onPageLoadingpageNumیک درخواست صفحه در حال شروع است.
onPageLoadedpageNumبارگذاری تصویر صفحه به پایان رسید.
onThumbnailClickedpageNumکاربر یک تصویر کوچک را انتخاب کرد.
onPageClickedpageNumکاربر یک صفحه را انتخاب کرد.
onDoubleClicknoneنمایشگر یک دوبار کلیک دریافت کرد.
onViewerBusynoneنمایشگر به حالت مشغول رفت.
onViewerReadynoneمقداردهی اولیه تکمیل شد.
onViewerErrornoneنمایشگر به حالت خطا وارد شد.
onErrormessageیک عملیات پیام خطا برگرداند.
onCopydataداده‌های کپی متن در دسترس است.
onAutoLoadStatuspageNumبارگذاری خودکار به صفحه‌ای پیشرفت کرد.
onThumbsShownnoneپنل تصویر کوچک قابل مشاهده شد.
onAnnLoadednoneداده‌های حاشیه‌نویسی بارگذاری شد.
onAnnSavednoneداده‌های حاشیه‌نویسی ذخیره شد.
onAnnSaveErrornoneذخیره‌سازی حاشیه‌نویسی ناموفق بود.
onAnnClosednoneرابط کاربری حاشیه‌نویسی بسته شد.

بازخوانی‌ها را سریع نگه دارید؛ تله‌متری را به‌صورت ناهمزمان ارسال کنید و از مسدود کردن رندر صفحه خودداری کنید.

گروه‌های متدهای عمومی

گروهمتدهای عمومی
دوره‌زندگی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)

فایل جاوااسکریپت همچنین شامل کمک‌کننده‌های داخلی است. تنها متدهایی که توسط رابط کاربری مرجع استفاده می‌شوند و در اینجا یا در راهنمای ویژگی‌ها مستند شده‌اند را به‌عنوان نقاط یکپارچه‌سازی پایدار در نظر بگیرید.

گزینه‌های تلاش مجدد

ویجت همچنین retryOn409 و تنظیمات بازگشت آن (retryInitialDelayMs، retryBackoffFactor، retryMaxDelayMs، retryMaxAttempts، retryMaxTotalMs) را می‌پذیرد. این‌ها برای استقرارهایی که صفحاتشان به‌صورت پس‌زمینه تولید می‌شود، کاربرد دارند. DocImage.axd هر صفحه را در طول درخواست رندر می‌کند، بنابراین retryOn409 را خاموش بگذارید.

فهرست بررسی مسیر

  • BasePath زمانی که هندلر DocImage.axd در ریشه سایت باشد، '/' است — ویژگی path هندلر در Web.config تعیین می‌کند که کجا پاسخ می‌دهد. در یک دایرکتوری مجازی، از نام دایرکتوری بدون پیشوند / استفاده کنید ('myapp'، نه '/myapp': نمایشگر اسلش را اضافه می‌کند، و //myapp/... یک درخواست به میزبان دیگر است).
  • DoconutOptions.ResourcesPath جایی است که ماژول منبع فایل‌های جاسازی‌شده را سرو می‌کند (/doconut-res به‌صورت پیش‌فرض).
  • ResPath به زیرپوشه images خود هدف می‌گیرد، همچنین بدون پیشوند / ('doconut-res/images'). اشاره به 'doconut-res' باعث می‌شود تمام آیکون‌ها 404 شوند در حالی که سند همچنان رندر می‌شود.
  • در MVC، اگر آن را تغییر دهید، routes.IgnoreRoute("doconut-res/{*pathInfo}") باید پس از ResourcesPath باشد.
  • قبل از اینکه showHyperlinks بتواند چیزی نمایش دهد، باید ExtractHyperlinks در تنظیمات فرمت سرور فعال باشد.

آیا این صفحه مفید بود؟