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"/"ตำแหน่งที่ตัวดูส่งคำขอหน้า "/" คือ DocImage.axd ที่รากของเว็บไซต์; มิฉะนั้นเป็นสาขาที่โฮสต์แมป UseDoconut(), โดยไม่มี / นำหน้า ("doconut" หมายถึง /doconut/DocImage.axd).
stringResPath"doconut-res/images" (26.9.0; "doconut-res" before)โฟลเดอร์ที่วิดเจ็ตโหลดรูปภาพของตนเองจาก: โฟลเดอร์ images ภายใต้ ResourcesPath, โดยไม่มี / นำหน้า.
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",           // no leading '/': the viewer adds it ("/doconut" would become //doconut, another host)
    ResPath = "doconut-res/images",
    ShowHyperlinks = true
};

การแมปจาก C# ไปยัง JavaScript

ห้ามส่ง ViewerConfig ที่ถูกทำซีเรียลไลซ์โดยตรงไปยัง docViewer(...). คีย์ส่วนใหญ่ของวิดเจ็ตใช้รูปแบบ camelCase, ในขณะที่คีย์เส้นทาง/การปรับขนาดที่กำหนดไว้สามคีย์ใช้รูปแบบ PascalCase.

C#จาวาสคริปต์
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 / 200JavaScript maxZoom แตกต่างจาก 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 ต้องชี้ไปยังสาขานั้น โดยเขียนโดยไม่มีสแลชนำหน้า / ('doconut', ไม่ใช่ '/doconut': ผู้ดูจะเพิ่มสแลชและ //doconut/... เป็นการร้องขอไปยังโฮสต์อื่น)
  • DoconutOptions.ResourcesPath เป็นเส้นทางของทรัพยากรที่ฝังอยู่
  • ResPath ปกติจะชี้ไปยังโฟลเดอร์ย่อย images ของมัน โดยไม่มีสแลชนำหน้า / ('doconut-res/images')
  • ExtractHyperlinks ต้องเปิดใช้งานในการตั้งค่ารูปแบบของเซิร์ฟเวอร์ก่อนที่ showHyperlinks จะสามารถแสดงอะไรได้

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