Настройка в .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 больше не будет включен. Пользователям рекомендуется вручную установить 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. Это гарантирует, что локализованный контент — такие как даты, валюты и числа…

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)