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 theo cách 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ươ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 cần thiết

Để đảm bảo dự án của bạn tưƣng thích hoàn toàn 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 thay đổi trong 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 cáo 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 cập nhật gợ 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ã hóa Email

Thuộc tính EmailEncoding trong lập EmailConfig chỉ định mã hóa ư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ã hóa Tiêu đề & Nội dung

Các thuộc tính SubjectEncoding và BodyEncoding trong lập EmailConfig định nghĩa mã hóa đượ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á Word Viewer

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

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)