ViewerConfig

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

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

ویژگی‌های C#

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

نگاشت 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

پیش‌فرض‌های JavaScript

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

گزینهپیش‌فرضیادداشت‌ها
leftMinWidth / leftMaxWidth220 / 800حدود عرض پنل تصویرهای کوچک.
showThumbstrueقابلیت مشاهده اولیهٔ تصویرهای کوچک.
autoFocus / autoPageFocustrue / falseautoPageFocus متفاوت از پیش‌فرض C#.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10هندسهٔ تصویرهای کوچک به پیکسل.
pageZoom / zoomStep / maxZoom100 / 10 / 200maxZoom در JavaScript متفاوت از C# (300).
showToolTip / toolTipPageTexttrue / "Page "ابزارک موقعیت صفحه.
format / doc / AccessToken"" / 0 / ""مقادیر داخلی مقداردهی؛ معمولاً توسط View(token) پر می‌شوند.
debugModefalseتشخیص‌های اضافی کلاینت.
FitType""بدون تناسب خودکار مگر اینکه ارائه شود.
BasePath"DocImage.axd"پیش‌فرض تاریخی کلاینت برای سازگاری حفظ شده است. میزبان‌های ASP.NET Core فعلی باید آن را به‌صورت صریح به شاخهٔ میدل‌ور نگاشت‌شده تنظیم کنند.
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: '/doconut',
    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)

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

تلاش مجدد در حالی که صفحه توزیع‌شده هنوز در حال رندر است

retryOn409 نام تاریخی خود را حفظ کرده است. این گزینه برای تولید صفحهٔ ناهمزمان است و پاسخ آماده‌سازی 202 Accepted فعلی را به‌همراه سیگنال قدیمی 409 Conflict دوباره تلاش می‌کند. وقتی فعال باشد، ویجت با این پیش‌فرض‌های JavaScript نظرسنجی می‌کند:

گزینهپیش‌فرض
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

برای نمایشگر معمولی آن را غیرفعال بگذارید. فعال‌سازی آن نمی‌تواند رندر همزمانی که پشتیبانی نمی‌شود را به‌صورت ناهمزمان تبدیل کند.

چک‌لیست مسیر

  • DoconutOptions.MiddlewarePath باید شاخه‌ای را که واقعاً نگاشت می‌کنید توصیف کند.
  • BasePath باید به آن شاخه هدف‌گذاری شود.
  • DoconutOptions.ResourcesPath مسیر منبع توکار است.
  • ResPath معمولاً به زیرپوشهٔ /images آن هدف می‌گیرد.
  • ExtractHyperlinks باید در پیکربندی فرمت سرور فعال شود تا showHyperlinks بتواند چیزی نمایش دهد.

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