Xây dựng Trình xem Tài liệu Tự‑hosted trong .NET – Hướng dẫn Từng bước
25/9/2026

Xây dựng Trình xem Tài liệu Tự‑hosted trong .NET – Hướng dẫn Từng bước

Tìm hiểu cách nhúng một trình xem tài liệu nhanh, an toàn, tự‑hosted vào ứng dụng .NET bằng SDK Doconut và cung cấp các bản xem trước PDF, Office, CAD mà không cần dịch vụ bên ngoài.

Bạn sẽ có một trình xem tài liệu tự‑hosted, siêu nhanh chạy trong ứng dụng .NET của bạn

Khi bạn hoàn thành hướng dẫn này, bạn có thể mở các tệp PDF, Office, bản vẽ CAD và hàng chục định dạng khác trực tiếp trong trình duyệt, với thời gian tải dưới một giây, không cần gọi dịch vụ SaaS bên ngoài và hoàn toàn kiểm soát bảo mật.


Yêu cầu trước

Bạn cần gìTại sao quan trọng
.NET 6 trở lên (SDK nhắm tới .NET 6+)Đảm bảo tương thích với SDK Online Document Viewer
Máy chủ Windows hoặc Linux nơi bạn có thể chạy ứng dụng (on‑premise hoặc đám mây riêng)Việc tự‑hosted yêu cầu trình xem chạy trong hạ tầng của bạn
Truy cập nguồn NuGet của Online Document Viewer (https://doconut.com)SDK được phân phối dưới dạng gói NuGet
Kiến thức cơ bản về ASP.NET Core và JavaScript front‑endBạn sẽ mở một endpoint trả về URL có chữ ký và sau đó khởi chạy trình xem từ trình duyệt
Vị trí lưu trữ cho các tệp nguồn (hệ thống tệp, blob storage, v.v.)Trình xem render tệp từ đường dẫn cục bộ hoặc mạng; nguồn phải có thể truy cập được bởi tiến trình máy chủ

Nếu thiếu bất kỳ mục nào trong số này, quá trình xây dựng sẽ bị dừng lại trước khi dòng mã đầu tiên chạy.


Cài đặt SDK Online Document Viewer

Mở solution của bạn trong Visual Studio hoặc IDE ưa thích và thêm SDK chính thức qua trình quản lý NuGet:

dotnet add package Doconut.NET8

Gói này chứa engine render, các bộ chuyển đổi định dạng và một lớp HTTP nhẹ phục vụ các trang được tạo. Vì SDK được biên dịch vào ứng dụng của bạn, không có dịch vụ bên ngoài nào được gọi tại thời gian chạy.

Sau khi gói được khôi phục, đăng ký các dịch vụ SDK trong Program.cs (hoặc Startup.cs cho các mẫu cũ). Việc đăng ký sẽ tiêm pipeline render vào container DI của ASP.NET Core, làm cho nó sẵn sàng cho các controller của bạn.


Cấu hình pipeline render cho các định dạng yêu cầu

Trình xem hỗ trợ hơn 50 định dạng ngay từ đầu, bao gồm:

  • 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

Khi một yêu cầu đến, SDK xác định loại tệp và chọn bộ chuyển đổi phù hợp. Để đạt hiệu năng tốt nhất, bật lớp cache tích hợp sẵn, lưu trang render trong bộ nhớ trong suốt thời gian yêu cầu; đây là yếu tố mang lại trải nghiệm “Siêu nhanh – Render tài liệu ngay lập tức với hiệu năng tối ưu và thời gian tải dưới một giây”.

Trong controller của bạn, gọi phương thức render của SDK (ví dụ, RenderAsync) và truyền đường dẫn tuyệt đối của tệp nguồn. Phương thức này trả về một đoạn HTML chứa trình xem dựa trên canvas. Vì quá trình render diễn ra trên máy chủ, phía client chỉ nhận được markup đã sẵn sàng hiển thị, loại bỏ việc xử lý nặng phía client.


Bảo mật trình xem bằng URL dựa trên token và các hạn chế tùy chọn

Quyền chủ quyền dữ liệu và tuân thủ GDPR là những mối quan tâm phổ biến cho các triển khai on‑premise. SDK tích hợp với hệ thống xác thực của ASP.NET Core, cho phép bạn tạo token có chữ ký để cấp quyền truy cập một lần vào tài liệu cụ thể.

Luồng điển hình:

  1. Front‑end yêu cầu API của bạn một token preview, cung cấp định danh tài liệu.
  2. API của bạn xác thực quyền của người dùng, tạo token dạng JWT mã hoá đường dẫn tệp và thời gian hết hạn, và trả về token.
  3. Front‑end gắn token vào URL của trình xem (ví dụ, /viewer?token=…). SDK xác thực token trên mỗi yêu cầu và từ chối bất kỳ token nào bị giả mạo hoặc hết hạn.

Nếu bạn cần ngăn người dùng tải xuống hoặc in tài liệu, hãy cấu hình các tùy chọn render do SDK cung cấp để tắt các hành động đó. Lớp JavaScript của trình xem sẽ ẩn nút tải xuống, vô hiệu hoá phím tắt in và chặn menu ngữ cảnh khi nhấp chuột phải.


Xác minh mọi thứ hoạt động

  1. Đi tới trang chứa trình xem.
  2. Tài liệu nên xuất hiện trong vòng một giây, kèm thanh cuộn, điều khiển thu phóng và hộp tìm kiếm.
  3. Nếu bạn đã cấu hình trình xem để tắt tải xuống, nút “Download” sẽ bị ẩn.
  4. Nhấp chuột phải vào tài liệu sẽ không mở menu ngữ cảnh của trình duyệt khi hạn chế này được bật.
  5. Sau khi token hết hạn (mặc định 5 phút), làm mới trang sẽ trả về lỗi “401 Unauthorized”, xác nhận việc xác thực token đang hoạt động.

Nếu bất kỳ kiểm tra nào không thành công, hãy quay lại bước tương ứng: thiếu đăng ký SDK, tạo token không đúng, hoặc bỏ qua các cờ bảo mật.