คุณจะมีตัวดูเอกสารที่โฮสต์ด้วยตนเองและเร็วแสงทำงานภายในแอปพลิเคชัน .NET ของคุณ
เมื่อคุณอ่านคู่มือนี้จนจบแล้ว คุณจะสามารถเปิดไฟล์ PDF, ไฟล์ Office, ไดอะแกรม CAD และรูปแบบอื่น ๆ อีกหลายสิบรูปแบบโดยตรงในเบราว์เซอร์ ด้วยเวลาโหลดที่น้อยกว่าวินาที ไม่ต้องเรียกใช้บริการ SaaS ภายนอก และควบคุมความปลอดภัยได้อย่างเต็มที่
ข้อกำหนดเบื้องต้น
| สิ่งที่คุณต้องการ | เหตุผลที่สำคัญ |
|---|---|
| .NET 6 หรือใหม่กว่า (SDK รองรับ .NET 6+) | รับประกันความเข้ากันได้กับ Online Document Viewer SDK |
| เซิร์ฟเวอร์ Windows หรือ Linux ที่คุณสามารถรันแอปพลิเคชันของคุณ (บนเครื่องหรือคลาวด์ส่วนตัว) | การโฮสต์ด้วยตนเองต้องการให้ตัวดูทำงานภายในโครงสร้างพื้นฐานของคุณเอง |
| เข้าถึง NuGet feed ของ Online Document Viewer (https://doconut.com) | SDK ถูกแจกจ่ายเป็นแพ็กเกจ NuGet |
| ความรู้พื้นฐานเกี่ยวกับ ASP.NET Core และ JavaScript ฝั่งหน้าเว็บ | คุณจะเปิดเผย endpoint ที่ส่งคืน URL ที่ลงลายเซ็นและจากนั้นเปิดตัวดูจากเบราว์เซอร์ |
| ตำแหน่งจัดเก็บไฟล์ต้นทาง (ระบบไฟล์, blob storage ฯลฯ) | ตัวดูเรนเดอร์ไฟล์จากเส้นทางในเครื่องหรือเครือข่าย; แหล่งไฟล์ต้องเข้าถึงได้โดยกระบวนการเซิร์ฟเวอร์ |
หากขาดรายการใดรายการหนึ่ง การสร้างแอปจะหยุดชะงักก่อนที่บรรทัดแรกของโค้ดจะทำงาน
ติดตั้ง Online Document Viewer SDK
เปิดโซลูชันของคุณใน Visual Studio หรือ IDE ที่คุณชื่นชอบและเพิ่ม SDK อย่างเป็นทางการผ่าน NuGet manager:
dotnet add package Doconut.NET8
แพ็กเกจนี้ประกอบด้วยเอนจินการเรนเดอร์, ตัวแปลงรูปแบบและเลเยอร์ HTTP ขนาดเล็กที่ให้บริการหน้าที่สร้างขึ้น เนื่องจาก SDK ถูกคอมไพล์เข้าไปในแอปพลิเคชันของคุณ จึงไม่มีการติดต่อบริการภายนอกในระหว่างรันไทม์
หลังจากแพ็กเกจถูกกู้คืนแล้ว ให้ลงทะเบียนบริการ SDK ใน Program.cs (หรือ Startup.cs สำหรับเทมเพลตเก่า) การลงทะเบียนจะฉีดท่อการเรนเดอร์เข้าไปในคอนเทนเนอร์ DI ของ ASP.NET Core ทำให้พร้อมใช้งานในคอนโทรลเลอร์ของคุณ
กำหนดค่าท่อการเรนเดอร์สำหรับรูปแบบที่ต้องการ
ตัวดูรองรับรูปแบบมากกว่า 50 รูปแบบโดยอัตโนมัติ รวมถึง:
- PDF, DOC, DOCX, ODT, RTF
- XLS, XLSX, CSV, ODS
- PPT, PPTX, ODP
- DWG, DXF, DGN (CAD)
- PSD, SVG, TIFF, WEBP, ICO
- EML, MSG, EPUB, MOBI, MPP, VSD
เมื่อมีคำขอเข้ามา SDK จะตรวจสอบประเภทไฟล์และเลือกตัวแปลงที่เหมาะสม เพื่อประสิทธิภาพสูงสุด ให้เปิดใช้งานเลเยอร์แคชในตัวที่เก็บหน้าที่เรนเดอร์ไว้ในหน่วยความจำตลอดระยะเวลาของคำขอ; นี่คือสิ่งที่ทำให้เกิดประสบการณ์ “เร็วแสง – การเรนเดอร์เอกสารทันทีด้วยประสิทธิภาพที่ปรับแต่งและการโหลดในระดับวินาทีย่อย”
ในคอนโทรลเลอร์ของคุณ ให้เรียกเมธอดการเรนเดอร์ของ SDK (เช่น RenderAsync) และส่งพาธเต็มของไฟล์ต้นทาง เมธอดจะคืนส่วน HTML ที่มีตัวดูแบบ canvas เนื่องจากการเรนเดอร์เกิดขึ้นบนเซิร์ฟเวอร์ ลูกค้าจะได้รับมาร์กอัปที่พร้อมแสดงเท่านั้น ซึ่งช่วยลดการประมวลผลหนักบนฝั่งไคลเอนต์
ปรับความปลอดภัยให้กับตัวดูด้วย URL ที่ใช้โทเคนและข้อจำกัดเพิ่มเติม
อธิปไตยข้อมูลและการปฏิบัติตาม GDPR เป็นข้อกังวลทั่วไปสำหรับการปรับใช้บนเครื่องขององค์กร SDK ทำงานร่วมกับระบบการตรวจสอบสิทธิ์ของ ASP.NET Core ทำให้คุณสามารถสร้างโทเคนที่ลงลายเซ็นเพื่อให้การเข้าถึงเอกสารแบบครั้งเดียวได้
ขั้นตอนทั่วไป:
- ฝั่งหน้าเว็บขอโทเคนพรีวิวจาก API ของคุณ โดยระบุตัวระบุเอกสาร
- API ของคุณตรวจสอบสิทธิ์ของผู้ใช้ สร้างโทเคนแบบ JWT ที่เข้ารหัสพาธไฟล์และเวลาหมดอายุ แล้วส่งโทเคนกลับ
- ฝั่งหน้าเว็บต่อโทเคนเข้าไปใน URL ของตัวดู (เช่น
/viewer?token=…) SDK จะตรวจสอบโทเคนในแต่ละคำขอและปฏิเสธโทเคนที่ถูกดัดแปลงหรือหมดอายุ
หากคุณต้องการป้องกันไม่ให้ผู้ใช้ดาวน์โหลดหรือพิมพ์เอกสาร ให้กำหนดค่าตัวเลือกการเรนเดอร์ที่ SDK ให้ไว้เพื่อปิดการทำงานเหล่านั้น ชั้น JavaScript ของตัวดูจะซ่อนปุ่มดาวน์โหลด, ปิดทางลัดการพิมพ์ และบล็อกเมนูคลิกขวา
ตรวจสอบว่าทุกอย่างทำงานได้
- ไปที่หน้าที่โฮสต์ตัวดู
- เอกสารควรปรากฏภายในหนึ่งวินาที พร้อมแถบเลื่อน, ควบคุมการซูมและช่องค้นหา
- หากคุณตั้งค่าตัวดูให้ปิดการดาวน์โหลด ปุ่ม “Download” ควรจะหายไป
- การคลิกขวาบนเอกสารไม่ควรเปิดเมนูบริบทของเบราว์เซอร์เมื่อเปิดใช้งานข้อจำกัดนี้
- หลังจากโทเคนหมดอายุ (ค่าเริ่มต้น 5 นาที) การรีเฟรชหน้า ควรคืนค่า error “401 Unauthorized” เพื่อยืนยันว่าการตรวจสอบโทเคนทำงานอยู่
หากตรวจสอบใดล้มเหลว ให้กลับไปตรวจสอบขั้นตอนที่เกี่ยวข้อง: การลงทะเบียน SDK ที่ขาดหาย, การสร้างโทเคนที่ไม่ถูกต้อง, หรือการละเว้นแฟล็กความปลอดภัยต่าง ๆ.
