Configuración en .NET Framework

Configuración de Web.config

Registre el HttpHandler en su archivo 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>

Agregar licencias

Doconut detecta automáticamente licencias en la carpeta raíz, o puede agregarlas manualmente.

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

Configuración para web.config

Las siguientes entradas de configuración son necesarias para el archivo web.config para garantizar la compatibilidad con Doconut y .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>

Paquetes NuGet requeridos

Para garantizar que su proyecto sea totalmente compatible con Doconut y .NET Framework, se deben incluir los siguientes paquetes 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

Opciones de configuración de renderizado

Puede configurar el comportamiento de renderizado usando las siguientes opciones:

  • CadConfig: Se utiliza para archivos DWG, DXF y DGN.
  • EmailConfig: Se utiliza para archivos EML, EMLX y MSG.
  • EpubConfig: Se utiliza para archivos EPUB.
  • ExcelConfig: Se utiliza para archivos Excel y CSV.
  • MhtConfig: Se utiliza para archivos MHT.
  • PptConfig: Se utiliza para archivos PowerPoint.
  • ProjectConfig: Se utiliza para archivos MPP.
  • PsdConfig: Se utiliza para archivos PSD.
  • TxtConfig: Se utiliza para archivos TXT.
  • TiffConfig: Se utiliza para archivos TIFF.
Example usage
var config = new CadConfig { DefaultRender = false }; // or true

Fuentes personalizadas en documentos Word

La propiedad FontFolders en la clase WordConfig especifica directorios personalizados donde la aplicación buscará fuentes.

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

Actualización sobre AjaxControlToolkit en el paquete NuGet

Hemos realizado cambios en nuestro paquete NuGet para mejorar la compatibilidad. AjaxControlToolkit ya no se incluirá. Se recomienda a los usuarios instalar manualmente AjaxControlToolkit versión 4.1.50508 en sus proyectos.

Actualización importante para Doconut 25.2.0

Es esencial actualizar el paquete System.Text.Json a la versión 8.0.5 en todos sus proyectos.

Codificación de correo electrónico

La propiedad EmailEncoding en la clase EmailConfig especifica la codificación preferida tanto para el asunto como para el cuerpo del correo electrónico.

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

Codificación de asunto y cuerpo

Las propiedades SubjectEncoding y BodyEncoding en la clase EmailConfig definen la codificación utilizada para el asunto y el cuerpo de un correo electrónico, respectivamente.

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

Compatibilidad de cultura en el visor de Word

La propiedad DocumentCulture en la clase WordConfig le permite definir explícitamente la cultura para archivos DOC y DOCX. Esto garantiza que el contenido localizado —como fechas, monedas y números— se muestre exactamente como lo hace en Microsoft Word. Es particularmente útil para idiomas con requisitos de formato específicos.

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)