Installation dans .NET Standard / Core
Fichier Startup.cs
Dans le fichier Startup.cs d’un projet .NET Core, ces lignes de code définissent la configuration d’une 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 comme 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 le traitement 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 passant le chemin du fichier du document situé sur le serveur ainsi que les objets PdfConfig et DocOptions préalablement configurés comme 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 dans la page. Ces scripts sont inclus dans le fichier ZIP avec les exemples de code.
<link rel="stylesheet" href="css/viewer.css" />
<!-- Main Viewer Related Scripts -->
<script src="scripts/jquery.min.js"></script>
<script src="scripts/docViewer.js"></script>
<script src="scripts/splitter.js"></script>
<script src="scripts/search.js"></script>
<script src="scripts/documentLinks.js"></script>
<!-- Viewer functions -->
<script src="scripts/docViewer.UI.js?v=1"></script>Ajouter les licences à votre projet
Détection automatique des licences
Pour initialiser le docViewer avec la détection automatique des licences, utilisez la ligne suivante :
var docViewer = new Viewer(_cache, _accessor);Ajouter une licence par défaut manuelle
Vous pouvez spécifier manuellement le chemin vers un seul fichier de licence par défaut 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);Multiples licences de plugins par défaut manuelles
Si vous devez spécifier plusieurs licences, vous pouvez fournir une liste de chemins de fichiers à 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 est pleinement compatible avec .NET Core Standard, les packages NuGet suivants doivent être inclus, listé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 du 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 utilise davantage de mémoire serveur et de temps de traitement.
- DefaultRender = false : cette option offre un rendu plus rapide au prix 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 l’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 peignez l’annotation pour la rendre visible dans 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 dans la classe WordConfig spécifie les répertoires personnalisés où l’application recherchera les polices. Cela est particulièrement utile pour le traitement des documents Word qui s’appuient sur des polices non installées dans les répertoires de polices système par défaut.
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 à la version 8.0.5 dans tous vos projets. Cette mise à jour est cruciale pour assurer la compatibilité avec les dernières fonctionnalités et pour répondre à d’importantes améliorations de sécurité.
Encodage des e‑mails
La propriété EmailEncoding dans la classe EmailConfig spécifie l’encodage préféré tant pour l’objet que pour le corps du courriel.
var emailConfig = new EmailConfig {
EmailEncoding = Encoding.UTF8 // Set preferred email encoding
};Encodage de l’objet et du corps
Les propriétés SubjectEncoding et BodyEncoding dans la classe EmailConfig définissent l’encodage utilisé respectivement pour l’objet 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
};Télécharger les fichiers CSS et JS requis
Pour que Doconut fonctionne correctement, 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 en utilisant le lien ci‑dessous :