ViewerConfig

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

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

คุณสมบัติ 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 ที่รากของไซต์. สำหรับแอปพลิเคชันในไดเรกทอรีเสมือน, ใช้ชื่อไดเรกทอรี โดยไม่มี / นำหน้า ("myapp" หมายถึง /myapp/DocImage.axd).
stringResPath"doconut-res/images"โฟลเดอร์ที่วิดเจ็ตโหลดรูปภาพของตนเองจาก: โฟลเดอร์ images ภายใต้ ResourcesPath, โดยไม่มี / นำหน้า.
stringFitType"width""width", "height" หรือว่างสำหรับไม่มีการปรับอัตโนมัติ. "page" ไม่ได้รับการยอมรับโดยวิดเจ็ตปัจจุบัน.
boolRetryOn409falseลองใหม่คำขอหน้าเมื่อได้รับคำตอบว่า "still rendering". DocImage.axd เรนเดอร์แบบซิงโครนัสและไม่ส่งสัญญาณนั้น; ตั้งค่าเป็น false.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/",                 // "/" = the DocImage.axd handler at the site root (Web.config)
    ResPath = "doconut-res/images", // the images folder under ResourcesPath, no leading '/'
    ShowHyperlinks = true
};
// Emit it with viewer.RenderViewer("viewerEl", token, config) - see the Viewer reference.

การสร้าง ViewerConfig ด้วย RenderViewer

Viewer.RenderViewer(elementId, token, config) แปลง ViewerConfig ให้เป็นสคริปต์การเริ่มต้นของวิดเจ็ต. มันเขียน หก คุณสมบัติข้างต้น — BasePath, ResPath, ShowThumbs, AutoLoad, PageZoom, และ FitType — แล้วเรียก View(token). คุณสมบัติอื่น ๆ จะไม่ถูกเขียน: สำหรับ MaxZoom, ShowHyperlinks, การตั้งค่าซูม, หรือคอลแบ็กใด ๆ, ให้เริ่มต้นวิดเจ็ตด้วยตัวเลือกจาวาสคริปต์ด้านล่างเอง. ดู Viewer สำหรับ RenderViewer.

การแมปจาก C# ไปยังจาวาสคริปต์

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

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

ตัวเลือกการลองใหม่

วิดเจ็ตยังรับค่า retryOn409 และการตั้งค่า backoff ของมัน (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 หากคุณเปลี่ยนค่า.
  • ExtractHyperlinks ต้องเปิดใช้งานในการกำหนดค่ารูปแบบเซิร์ฟเวอร์ก่อนที่ showHyperlinks จะสามารถแสดงอะไรได้.

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