راه‌اندازی در .NET Framework

پیکربندی Web.config

HttpHandler را در فایل web.config خود ثبت کنید.

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>

افزودن لایسنس‌ها

Doconut به‌صورت خودکار لایسنس‌ها را در پوشه ریشه شناسایی می‌کند، یا می‌توانید آن‌ها را به‌صورت دستی اضافه کنید.

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

پیکربندی برای web.config

ورودی‌های پیکربندی زیر برای فایل web.config ضروری هستند تا سازگاری با Doconut و .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>

پکیج‌های NuGet مورد نیاز

برای اطمینان از سازگاری کامل با Doconut و .NET Framework، پکیج‌های NuGet زیر باید اضافه شوند:

  • 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

گزینه‌های رندرینگ

می‌توانید رفتار رندر را با استفاده از گزینه‌های زیر تنظیم کنید:

  • CadConfig: برای فایل‌های DWG، DXF و DGN استفاده می‌شود.
  • EmailConfig: برای فایل‌های EML، EMLX و MSG استفاده می‌شود.
  • EpubConfig: برای فایل‌های EPUB استفاده می‌شود.
  • ExcelConfig: برای فایل‌های Excel و CSV استفاده می‌شود.
  • MhtConfig: برای فایل‌های MHT استفاده می‌شود.
  • PptConfig: برای فایل‌های PowerPoint استفاده می‌شود.
  • ProjectConfig: برای فایل‌های MPP استفاده می‌شود.
  • PsdConfig: برای فایل‌های PSD استفاده می‌شود.
  • TxtConfig: برای فایل‌های TXT استفاده می‌شود.
  • TiffConfig: برای فایل‌های TIFF استفاده می‌شود.
Example usage
var config = new CadConfig { DefaultRender = false }; // or true

فونت‌های سفارشی در اسناد Word

ویژگی FontFolders در کلاس WordConfig مسیرهای سفارشی‌ای که برنامه برای جستجوی فونت‌ها در آن‌ها می‌گردد، مشخص می‌کند.

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

به‌روزرسانی درباره AjaxControlToolkit در بسته NuGet

ما تغییراتی در بسته NuGet خود اعمال کردیم تا سازگاری بهتر شود. AjaxControlToolkit دیگر شامل نمی‌شود. توصیه می‌شود کاربر به‌صورت دستی نسخه 4.1.50508 را در پروژه‌های خود نصب کند.

به‌روزرسانی مهم برای Doconut 25.2.0

به‌روزرسانی برای بهبود System.Text.Json به نسخه 8.0.5 در تمام پروژه‌های شما ضروری است.

کدگذاری ایمیل

ویژگی EmailEncoding در کلاس EmailConfig که برای تعیین رمزگذاری موضوع و متن ایمیل استفاده می‌شود.

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

کدگذاری موضوع و متن

ویژگی‌های SubjectEncoding و BodyEncoding در کلاس EmailConfig به ترتیب برای موضوع و متن ایمیل تعریف می‌شوند.

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

پشتیبانی فرهنگ Word Viewer

ویژگی DocumentCulture در کلاس WordConfig به شما امکان می‌دهد فرهنگ را به‌طور صریح برای فایل‌های DOC و DOCX تعریف کنید. این کار تضمین می‌کند که محتوای بومی‌شده—مانند تاریخ‌ها، ارزها و اعداد—دقیقاً همان‌طور که در Microsoft Word نمایش داده می‌شود، رندر شود. این به‌ویژه برای زبان‌هایی که نیازهای قالب‌بندی خاصی دارند، مفید است.

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)