ViewerConfig

ตัวเลือกวิดเจ็ตผู้ชมด้านไคลเอนต์

ViewerConfig (namespace 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

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

ค่าเริ่มต้นของ JavaScript

ตัวเลือกค่าเริ่มต้นหมายเหตุ
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 ยังมีตัวช่วยภายในด้วย ให้ถือว่าเฉพาะเมธอดที่ใช้โดย UI อ้างอิงและที่อธิบายไว้ที่นี่หรือในคู่มือฟีเจอร์เป็นจุดเชื่อมต่อที่เสถียร.

การลองใหม่ขณะที่หน้าที่กระจายยังคงเรนเดอร์

retryOn409 รักษาชื่อเดิมของมัน มันใช้สำหรับการผลิตหน้าที่อะซิงโครนัสและลองใหม่การตอบสนอง 202 Accepted พร้อมกับสัญญาณ 409 Conflict เก่า เมื่อเปิดใช้งาน วิดเจ็ตจะโพลด้วยค่าเริ่มต้น JavaScript เหล่านี้:

ตัวเลือกค่าเริ่มต้น
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

ปล่อยให้ปิดสำหรับผู้ชมปกติ การเปิดใช้งานไม่สามารถทำให้การเรนเดอร์แบบซิงโครนัสที่ไม่รองรับกลายเป็นอะซิงโครนัสได้.

รายการตรวจสอบเส้นทาง

  • DoconutOptions.MiddlewarePath ต้องอธิบายสาขาที่คุณแมปจริง
  • BasePath ต้องชี้ไปยังสาขานั้น
  • DoconutOptions.ResourcesPath เป็นเส้นทางของทรัพยากรที่ฝังอยู่
  • ResPath ปกติจะชี้ไปยังโฟลเดอร์ย่อย /images ของมัน
  • ExtractHyperlinks ต้องเปิดใช้งานในการกำหนดค่ารูปแบบของเซิร์ฟเวอร์ก่อนที่ showHyperlinks จะสามารถแสดงอะไรได้

หน้านี้เป็นประโยชน์หรือไม่?