Cài đặt trong .NET Framework

Cấu hình Web.config

Đăng ký HttpHandler trong tệp web.config của bạn.

Below IIS 7
<httpHandlers>
  <add verb="GET,POST" path="DocImage.axd" type="Doconut.DocImageHandler, Doconut" />
</httpHandlers>
IIS 7 and above
<handlers>
  <add name="DocImage" verb="GET,POST" path="DocImage.axd" type="Doconut.DocImageHandler, Doconut" />
</handlers>

Thêm giấy phép

Doconut tự động phát hiện giấy phép trong thư mục gốc, hoặc bạn có thể thêm chúng thủ công.

Manual License Path
var licenseFilePath = Server.MapPath("~/Doconut.Viewer.lic");
var docViewer = new Viewer(licenseFilePath);

Cấu hình cho web.config

Các mục cấu hình sau là cần thiết cho tệp web.config để đảm bảo tính tương thích với Doconut và .NET Framework.

web.config
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="8.0.3.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Drawing.Common" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="MessagePack" publicKeyToken="9c7f9b36b37eaddf" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.5.140.0" newVersion="2.5.140.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.4.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

Các gói NuGet bắt buộc

Để đảm bảo dự án của bạn hoàn toàn tương thích với Doconut và .NET Framework, cần bao gồm các gói NuGet sau:

  • MessagePack - Version 2.5.140
  • MessagePack.Annotations - Version 2.5.140
  • Microsoft.Bcl.AsyncInterfaces - Version 8.0.0
  • Microsoft.NET.StringTools - Version 17.6.3
  • System.Collections.Immutable - Version 6.0.0
  • System.Drawing.Common - Version 6.0.0
  • System.Memory - Version 4.5.5
  • System.Reflection.Emit - Version 4.7.0
  • System.Reflection.Emit.Lightweight - Version 4.7.0
  • System.Security.Cryptography.Pkcs - Version 8.0.0
  • System.Text.Encoding.CodePages - Version 8.0.0
  • System.Text.Encodings.Web - Version 8.0.0
  • System.Text.Json - Version 8.0.3

Tùy chọn cấu hình render

Bạn có thể cấu hình hành vi render bằng các tùy chọn sau:

  • CadConfig: Được sử dụng cho các tệp DWG, DXF và DGN.
  • EmailConfig: Được sử dụng cho các tệp EML, EMLX và MSG.
  • EpubConfig: Được sử dụng cho các tệp EPUB.
  • ExcelConfig: Được sử dụng cho các tệp Excel và CSV.
  • MhtConfig: Được sử dụng cho các tệp MHT.
  • PptConfig: Được sử dụng cho các tệp PowerPoint.
  • ProjectConfig: Được sử dụng cho các tệp MPP.
  • PsdConfig: Được sử dụng cho các tệp PSD.
  • TxtConfig: Được sử dụng cho các tệp TXT.
  • TiffConfig: Được sử dụng cho các tệp TIFF.
Example usage
var config = new CadConfig { DefaultRender = false }; // or true

Phông chữ tùy chỉnh trong tài liệu Word

Thuộc tính FontFolders trong lớp WordConfig chỉ định các thư mục tùy chỉnh mà ứng dụng sẽ tìm kiếm phông chữ.

Usage
var config = new WordConfig
{
    FontFolders = new string[] { "C:\\CustomFonts", "D:\\SharedFonts" }
};

Cập nhật về AjaxControlToolkit trong gói NuGet

Chúng tôi đã thực hiện các thay đổi đối với gói NuGet của mình để cải thiện tính tương thích. AjaxControlToolkit sẽ không còn được bao gồm nữa. Người dùng được khuyên nên cài đặt thủ công AjaxControlToolkit phiên bản 4.1.50508 vào dự án của họ.

Cập nhật quan trọng cho Doconut 25.2.0

Cần thiết cập nhật gói System.Text.Json lên phiên bản 8.0.5 trong tất cả các dự án của bạn.

Mã hoá Email

Thuộc tính EmailEncoding trong lớp EmailConfig chỉ định mã hoá ưu tiên cho cả tiêu đề và nội dung email.

Usage
var emailConfig = new EmailConfig {
    EmailEncoding = Encoding.UTF8 // Set preferred email encoding
};

Mã hoá Tiêu đề & Nội dung

Các thuộc tính SubjectEncoding và BodyEncoding trong lớp EmailConfig định nghĩa mã hoá được sử dụng cho tiêu đề và nội dung của email, tương ứng.

Usage
var emailConfig = new EmailConfig {
    SubjectEncoding = Encoding.UTF8, // Set encoding for the subject
    BodyEncoding = Encoding.UTF8     // Set encoding for the body
};

Hỗ trợ văn hoá cho Word Viewer

Thuộc tính DocumentCulture trong lớp WordConfig cho phép bạn xác định rõ ràng văn hoá cho các tệp DOC và DOCX. Điều này đảm bảo rằng nội dung địa phương hoá—như ngày tháng, tiền tệ và số—được hiển thị chính xác như trong Microsoft Word. Điều này đặc biệt hữu ích cho các ngôn ngữ có yêu cầu định dạng cụ thể.

Usage
var config = new WordConfig { DocumentCulture = "he-IL" }; // Hebrew (Israel)
var config = new WordConfig { DocumentCulture = "ar-SA" }; // Arabic (Saudi Arabia)
var config = new WordConfig { DocumentCulture = "th-TH" }; // Thai (Thailand)
var config = new WordConfig { DocumentCulture = "ja-JP" }; // Japanese (Japan)