راه‌اندازی در .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 AjaxControlToolkit را به‌صورت دستی در پروژه‌های خود نصب کنند.

به‌روزرسانی مهم برای 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)