Configuration dans .NET 6 ou supérieur
Fichier Startup.cs
Dans le fichier Startup.cs d’un projet .NET Core, ces lignes de code définissent une configuration du pipeline middleware à l’aide de la méthode MapWhen. Le prédicat fourni vérifie si le chemin de la requête entrante se termine par DocImage.axd. À l’intérieur de ce bloc, la méthode UseDoconut est appelée avec un objet DoconutOptions en argument.
app.MapWhen(
context => context.Request.Path.ToString().EndsWith("DocImage.axd"),
appBranch =>
{
appBranch.UseDoconut(new DoconutOptions { UnSafeMode = false, ShowDoconutInfo = false });
}
);Ajouter les espaces de noms Doconut
Dans votre projet, ajoutez les instructions using suivantes :
using Doconut;
using Doconut.Configs;
using Doconut.Formats;
using Doconut.Clouds;Instancier l’objet Viewer
Cette ligne crée une nouvelle instance de la classe Viewer, vous permettant de créer un objet viewer dans votre code.
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);Configurer un objet DocOptions
Exemple d’initialisation d’un objet DocOptions avec des configurations spécifiques :
var documentOptions = new DocOptions
{
Password = "",
ImageResolution = 200,
TimeOut = 30
};Configurer un objet de configuration
Initialisez un nouvel objet PdfConfig avec des configurations spécifiques pour la gestion des documents PDF :
var config = new PdfConfig { DefaultRender = true, ExtractHyperlinks = true };Ouvrir votre document
Cette ligne invoque la méthode OpenDocument de l’objet viewer, en transmettant le chemin du fichier document situé sur le serveur ainsi que les objets PdfConfig et DocOptions précédemment configurés en tant que paramètres.
var token = docViewer.OpenDocument(pathToFile, config, documentOptions);Ajouter le viewer dans votre HTML
<div id="div_ctlDoc"></div>Ajouter les fichiers CSS et JavaScript
Ajoutez les fichiers CSS et JavaScript suivants à la page. Ces scripts sont inclus dans le fichier ZIP contenant des exemples de code.
<!-- Main Viewer Related Scripts -->
<script src="scripts/splitter.js"></script>
<script src="scripts/docViewer.js"></script>
<script src="scripts/documentLinks.js"></script>
<!-- Viewer functions -->
<script src="scripts/docViewer.UI.js?v=1"></script>Ajouter des licences à votre projet
Détection automatique de licence
Pour initialiser le docViewer avec la détection automatique de licence, utilisez la ligne suivante :
var docViewer = new Viewer(_cache, _accessor);Ajouter une licence par défaut manuelle
Vous pouvez spécifier manuellement le chemin d’un fichier de licence par défaut unique lors de l’initialisation du viewer.
var licenseFilePath = Path.Combine(_hostingEnvironment.WebRootPath, "path/to/your/license");
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);Ajouter une licence par flux
Cette méthode utilise la surcharge Viewer.DoconutLicense(Stream licenseStream) pour ajouter une licence à l’aide d’un flux.
using (var licenseStream = new FileStream("path/to/your/license", FileMode.Open))
{
Viewer.DoconutLicense(licenseStream);
}Ajouter une licence par document XML
Cette méthode utilise la surcharge Viewer.DoconutLicense(XMLDocument licence) pour ajouter une licence à l’aide d’un document XML.
var xmlDoc = new XmlDocument();
xmlDoc.Load("path/to/your/license.xml");
Viewer.DoconutLicense(xmlDoc);Licence multiple de plugin par défaut manuelle
Si vous devez spécifier plusieurs licences, vous pouvez fournir une liste de chemins de fichiers lors de l’initialisation du viewer.
List<string> licenseFilePaths = new List<string>
{
Path.Combine(_hostingEnvironment.WebRootPath, "Doconut.Viewer.lic"),
Path.Combine(_hostingEnvironment.WebRootPath, "Doconut.Viewer.Annotation.lic"),
Path.Combine(_hostingEnvironment.WebRootPath, "Doconut.Viewer.Search.lic")
};
var docViewer = new Viewer(_cache, _accessor, licenseFilePaths);Ajouter une licence de plugin par flux
Cette méthode utilise la surcharge Viewer.SetLicensePlugin(Stream pluginLicence) pour ajouter une licence de plugin à l’aide d’un flux.
using (var pluginLicenseStream = new FileStream("path/to/your/plugin-license.lic", FileMode.Open))
{
Viewer.SetLicensePlugin(pluginLicenseStream);
}Ajouter une licence de plugin par document XML
Cette méthode utilise la surcharge Viewer.SetLicensePlugin(XMLDocument xmlPluginLicence) pour ajouter une licence de plugin à l’aide d’un document XML.
var pluginXmlDoc = new XmlDocument();
pluginXmlDoc.Load("path/to/your/plugin-license.xml");
Viewer.SetLicensePlugin(pluginXmlDoc);Packages NuGet requis
Pour garantir que votre projet soit entièrement compatible avec .NET Core Standard, les packages NuGet suivants doivent être inclus, classés par ordre alphabétique.
- MessagePack - Version 2.5.140
- Microsoft.Bcl.AsyncInterfaces - Version 8.0.0
- Microsoft.Extensions.Caching.Abstractions - Version 8.0.0
- Microsoft.Extensions.Configuration - Version 8.0.0
- Microsoft.Extensions.Configuration.Abstractions - Version 8.0.0
- Microsoft.Extensions.Configuration.FileExtensions - Version 8.0.0
- Microsoft.Extensions.Configuration.Json - Version 8.0.0
- Microsoft.Extensions.FileProviders.Abstractions - Version 8.0.0
- Microsoft.Extensions.FileProviders.Physical - Version 8.0.0
- Microsoft.Extensions.FileSystemGlobbing - Version 8.0.0
- Microsoft.Extensions.Primitives - Version 8.0.0
- System.Buffers - Version 4.5.1
- System.Formats.Asn1 - Version 8.0.0
- System.Numerics.Vectors - Version 4.5.0
- System.Security.Cryptography.Cng - Version 5.0.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
- System.Threading.Tasks.Extensions - Version 4.5.4
Options de configuration du rendu
Vous pouvez configurer le comportement de rendu à l’aide des options suivantes :
- CadConfig : utilisé pour les fichiers DWG, DXF et DGN.
- EmailConfig : utilisé pour les fichiers EML, EMLX et MSG.
- EpubConfig : utilisé pour les fichiers EPUB.
- ExcelConfig : utilisé pour les fichiers Excel et CSV.
- MhtConfig : utilisé pour les fichiers MHT.
- PptConfig : utilisé pour les fichiers PowerPoint.
- ProjectConfig : utilisé pour les fichiers MPP.
- PsdConfig : utilisé pour les fichiers PSD.
- TxtConfig : utilisé pour les fichiers TXT.
- TiffConfig : utilisé pour les fichiers TIFF.
Configuration des options de rendu
Les options de rendu sont configurées à l’aide de la propriété DefaultRender :
- DefaultRender = true : cette option offre un rendu de meilleure qualité mais consomme davantage de mémoire serveur et de temps de traitement.
- DefaultRender = false : cette option fournit un rendu plus rapide au détriment d’une qualité légèrement réduite.
Comment ajouter une annotation d’image
En C#
1. Ouvrez le document et obtenez les dimensions de la première page. 2. Initialise le AnnotationManager avec les dimensions de la page. 3. Créez une ImageAnnotation, en définissant le chemin de l’image dans imgUrl, et spécifiez la position et la taille dans Rectangle. 4. Ajoutez l’annotation au gestionnaire et chargez‑la dans le visualiseur de documents pour l’afficher.
var token = docViewer.OpenDocument(pathToFile, config, documentOptions);
var firstPage = docViewer.GetThumbnailDimensions(1, 0, 100, false);
var pageWidth = firstPage.Width;
var pageHeight = firstPage.Height;
using (var annMgr = docViewer.GetAnnotationManager(pageWidth, pageHeight))
{
string imgUrl = "img/sample.png";
var imgAnn = new ImageAnnotation(
1,
new Rectangle(600, 700, 750, 300),
imgUrl
);
annMgr.Add(imgAnn);
docViewer.LoadAnnotationXML(annMgr.GetAnnotationXml());
}En JavaScript
1. Assurez‑vous que YourController est disponible. 2. Créez une nouvelle ImageAnnotation, en définissant le chemin de l’image avec SetNote. 3. Ajoutez et dessinez l’annotation pour la rendre sur le document.
function ImageStamp() {
if (null != objctlDoc.YourController()) {
var objStampImage = new ImageAnnotation({ left: 200, top: 200, width: 260, height: 55 });
objctlDoc.YourController().AddAnnotation(null, objStampImage, null);
objStampImage.SetNote('/images/Approved_Stamp.png');
objStampImage.Paint();
}
}Polices personnalisées dans les documents Word
La propriété FontFolders de la classe WordConfig spécifie des répertoires personnalisés où l’application recherchera les polices. Cela est particulièrement utile pour le traitement de documents Word qui dépendent de polices non installées dans les répertoires de polices par défaut du système.
var config = new WordConfig
{
FontFolders = new string[] { "C:\\CustomFonts", "D:\\SharedFonts" }
};Mise à jour importante pour Doconut 25.2.0
Il est essentiel de mettre à jour le package System.Text.Json vers la version 8.0.5 dans tous vos projets. Cette mise à jour est cruciale pour garantir la compatibilité avec les dernières fonctionnalités et pour corriger d’importantes améliorations de sécurité.
Encodage des e‑mails
La propriété EmailEncoding de la classe EmailConfig spécifie l’encodage préféré pour le sujet et le corps de l’e‑mail.
var emailConfig = new EmailConfig {
EmailEncoding = Encoding.UTF8 // Set preferred email encoding
};Encodage du sujet & du corps
Les propriétés SubjectEncoding et BodyEncoding de la classe EmailConfig définissent l’encodage utilisé respectivement pour le sujet et le corps d’un e‑mail.
var emailConfig = new EmailConfig {
SubjectEncoding = Encoding.UTF8, // Set encoding for the subject
BodyEncoding = Encoding.UTF8 // Set encoding for the body
};Prise en charge de la culture du visualiseur Word
La propriété DocumentCulture de la classe WordConfig vous permet de définir explicitement la culture pour les fichiers DOC et DOCX. Cela garantit que le contenu localisé — comme les dates, les devises et les nombres — s’affiche exactement comme dans Microsoft Word. Ceci est particulièrement utile pour les langues avec des exigences de formatage spécifiques.
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)Télécharger les fichiers CSS et JS requis
Pour garantir le bon fonctionnement de Doconut, vous devez inclure des fichiers CSS et JS spécifiques dans votre projet. Vous pouvez télécharger un fichier ZIP contenant tous les fichiers nécessaires via le lien ci‑dessous :