ViewerConfig

ตัวเลือกวิดเจ็ตตัวดูของไคลเอนต์

ViewerConfig (namespace Doconut) อธิบายลักษณะและพฤติกรรมของตัวดูในเบราว์เซอร์ มันไม่ได้ส่งผลต่อคุณภาพการแสดงผลของเอกสาร; ใช้การกำหนดรูปแบบสำหรับเรื่องนั้น คลาส C# และปลั๊กอิน JavaScript รุ่นเก่ามีค่าเริ่มต้นที่แตกต่างกัน ดังนั้นให้ทำการแมปค่าอย่างชัดเจน.

คุณสมบัติของ C#

ประเภทคุณสมบัติค่าเริ่มต้นคำอธิบาย
boolShowThumbstrueแสดงแผงภาพย่อ.
boolAutoLoadfalseโหลดโดยอัตโนมัติหลังจากการเริ่มต้น การไหลของโทเคนปกติจะเรียก View(token) อย่างชัดเจน.
boolAutoFocustrueย้ายโฟกัส/การเลื่อนของเบราว์เซอร์ไปยังตัวดูระหว่างการเริ่มต้น.
boolAutoPageFocustrueทำให้ภาพย่อปัจจุบันมองเห็นได้ขณะหน้าถูกเปลี่ยน.
intPageZoom100เปอร์เซ็นต์การซูมเริ่มต้น.
intZoomStep10เปอร์เซ็นต์ที่เพิ่มหรือหักโดยคำสั่งซูม.
intMaxZoom300เปอร์เซ็นต์การซูมสูงสุด.
boolShowToolTiptrueแสดง tooltip ตำแหน่งหน้าในขณะเลื่อน.
stringToolTipPageText"Page "คำนำหน้าที่ใช้ใน tooltip หน้า.
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เปิดใช้งานการโพลเมื่อคำขอหน้าที่เป็นแบบอะซิงโครนัส/กระจายตอบสนอง 409. ไม่จำเป็นสำหรับตัวดูแบบซิงโครนัสปกติ.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "doconut",           // ไม่มี '/' นำหน้า: ตัวดูจะเพิ่มให้ ("/doconut" จะกลายเป็น //doconut, โฮสต์อื่น)
    ResPath = "doconut-res/images",
    ShowHyperlinks = true
};

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

ห้ามส่ง ViewerConfig ที่ถูกทำซีเรียลไลซ์โดยตรงไปยัง docViewer(...). คีย์ส่วนใหญ่ของวิดเจ็ตใช้รูปแบบ camelCase, ในขณะที่คีย์ path/fit ที่กำหนดไว้สามตัวใช้รูปแบบ 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 / 200JavaScript maxZoom แตกต่างจาก C# (300).
showToolTip / toolTipPageTexttrue / "Page "Tooltip ตำแหน่งหน้า.
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 อ้างอิงและที่ได้อธิบายไว้ที่นี่หรือในคู่มือฟีเจอร์เป็นจุดเชื่อมต่อที่เสถียร.

ลองใหม่หลัง HTTP 409

retryOn409 ใช้สำหรับการสร้างหน้าที่เป็นอะซิงโครนัส. เมื่อเปิดใช้งาน, วิดเจ็ตจะโพลด้วยค่าเริ่มต้น JavaScript เหล่านี้:

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

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

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

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

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