Nastavení v .NET 6 nebo vyšší
Soubor Startup.cs
V souboru Startup.cs projektu .NET Core definují tyto řádky kódu konfiguraci middleware pipeline pomocí metody MapWhen. Poskytnutý predikát kontroluje, zda cesta příchozího požadavku končí na DocImage.axd. Uvnitř tohoto bloku je volána metoda UseDoconut s objektem DoconutOptions jako argumentem.
app.MapWhen(
context => context.Request.Path.ToString().EndsWith("DocImage.axd"),
appBranch =>
{
appBranch.UseDoconut(new DoconutOptions { UnSafeMode = false, ShowDoconutInfo = false });
}
);Přidejte jmenné prostory Doconut
Ve svém projektu přidejte následující příkazy using:
using Doconut;
using Doconut.Configs;
using Doconut.Formats;
using Doconut.Clouds;Vytvořte instanci objektu Viewer
Tento řádek vytvoří novou instanci třídy Viewer, což vám umožní vytvořit objekt viewer ve vašem kódu.
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);Nastavte objekt DocOptions
Příklad inicializace objektu DocOptions s konkrétními konfiguracemi:
var documentOptions = new DocOptions
{
Password = "",
ImageResolution = 200,
TimeOut = 30
};Nastavte konfigurační objekt
Inicializujte nový objekt PdfConfig s konkrétními nastaveními pro zpracování PDF dokumentů:
var config = new PdfConfig { DefaultRender = true, ExtractHyperlinks = true };Otevřete svůj dokument
Tento řádek volá metodu OpenDocument objektu viewer a předává jako parametry cestu k souboru dokumentu umístěnému na serveru a předtím nakonfigurované objekty PdfConfig a DocOptions.
var token = docViewer.OpenDocument(pathToFile, config, documentOptions);Přidejte viewer do svého HTML
<div id="div_ctlDoc"></div>Přidejte soubory CSS a JavaScript
Přidejte následující soubory CSS a JavaScript na stránku. Tyto skripty jsou součástí ZIP souboru s ukázkovým kódem.
<!-- 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>Přidejte licence do svého projektu
Automatické detekování licence
Pro inicializaci docViewer s automatickým detekováním licence použijte následující řádek:
var docViewer = new Viewer(_cache, _accessor);Přidejte manuální výchozí licenci
Můžete manuálně zadat cestu k jedné výchozí licenčnímu souboru při inicializaci vieweru.
var licenseFilePath = Path.Combine(_hostingEnvironment.WebRootPath, "path/to/your/license");
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);Přidejte licenci pomocí streamu
Tato metoda používá přetížení Viewer.DoconutLicense(Stream licenseStream) k přidání licence pomocí streamu.
using (var licenseStream = new FileStream("path/to/your/license", FileMode.Open))
{
Viewer.DoconutLicense(licenseStream);
}Přidejte licenci pomocí XML dokumentu
Tato metoda používá přetížení Viewer.DoconutLicense(XMLDocument licence) k přidání licence pomocí XML dokumentu.
var xmlDoc = new XmlDocument();
xmlDoc.Load("path/to/your/license.xml");
Viewer.DoconutLicense(xmlDoc);Manuální výchozí více plugin licencí
Pokud potřebujete zadat více licencí, můžete při inicializaci vieweru poskytnout seznam cest k souborům.
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);Přidejte plugin licenci pomocí streamu
Tato metoda používá přetížení Viewer.SetLicensePlugin(Stream pluginLicence) k přidání plugin licence pomocí streamu.
using (var pluginLicenseStream = new FileStream("path/to/your/plugin-license.lic", FileMode.Open))
{
Viewer.SetLicensePlugin(pluginLicenseStream);
}Přidejte plugin licenci pomocí XML dokumentu
Tato metoda používá přetížení Viewer.SetLicensePlugin(XMLDocument xmlPluginLicence) k přidání plugin licence pomocí XML dokumentu.
var pluginXmlDoc = new XmlDocument();
pluginXmlDoc.Load("path/to/your/plugin-license.xml");
Viewer.SetLicensePlugin(pluginXmlDoc);Požadované NuGet balíčky
Aby byl váš projekt plně kompatibilní s .NET Core Standard, je třeba zahrnout následující NuGet balíčky, uvedené v abecedním pořadí.
- 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
Možnosti konfigurace renderování
Chování renderování můžete nastavit pomocí následujících možností:
- CadConfig: Používá se pro soubory DWG, DXF a DGN.
- EmailConfig: Používá se pro soubory EML, EMLX a MSG.
- EpubConfig: Používá se pro soubory EPUB.
- ExcelConfig: Používá se pro soubory Excel a CSV.
- MhtConfig: Používá se pro soubory MHT.
- PptConfig: Používá se pro soubory PowerPoint.
- ProjectConfig: Používá se pro soubory MPP.
- PsdConfig: Používá se pro soubory PSD.
- TxtConfig: Používá se pro soubory TXT.
- TiffConfig: Používá se pro soubory TIFF.
Konfigurace možností renderování
Možnosti renderování jsou nastaveny pomocí vlastnosti DefaultRender:
- DefaultRender = true : Tato volba poskytuje vyšší kvalitu renderování, ale využívá více paměti serveru a času zpracování.
- DefaultRender = false : Tato volba poskytuje rychlejší renderování na úkor mírně snížené kvality.
Jak přidat obrázkovou anotaci
V C#
1. Otevřete dokument a zjistěte rozměry první stránky. 2. Inicializujte AnnotationManager s rozměry stránky. 3. Vytvořte ImageAnnotation, nastavte cestu k obrázku v imgUrl a určete pozici a velikost v Rectangle. 4. Přidejte anotaci do manageru a načtěte ji v prohlížeči dokumentu pro zobrazení.
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());
}V JavaScriptu
1. Ujistěte se, že je k dispozici YourController. 2. Vytvořte novou ImageAnnotation a nastavte cestu k obrázku pomocí SetNote. 3. Přidejte a vykreslete anotaci, aby se zobrazila v dokumentu.
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();
}
}Vlastní fonty ve Word dokumentech
Přepínač FontFolders ve třídě WordConfig určuje vlastní adresáře, ve kterých bude aplikace hledat fonty. To je zvláště užitečné při zpracování Word dokumentů, které spoléhají na fonty neinstalované ve výchozích systémových adresářích fontů.
var config = new WordConfig
{
FontFolders = new string[] { "C:\\CustomFonts", "D:\\SharedFonts" }
};Důležitá aktualizace pro Doconut 25.2.0
Je nezbytné aktualizovat balíček System.Text.Json na verzi 8.0.5 ve všech vašich projektech. Tato aktualizace je klíčová pro zajištění kompatibility s nejnovějšími funkcemi a pro řešení důležitých bezpečnostních vylepšení.
Kódování e-mailu
Vlastnost EmailEncoding ve třídě EmailConfig určuje preferované kódování jak předmětu, tak těla e-mailu.
var emailConfig = new EmailConfig {
EmailEncoding = Encoding.UTF8 // Set preferred email encoding
};Kódování předmětu a těla
Vlastnosti SubjectEncoding a BodyEncoding ve třídě EmailConfig definují kódování použité pro předmět a tělo e-mailu, respektive.
var emailConfig = new EmailConfig {
SubjectEncoding = Encoding.UTF8, // Set encoding for the subject
BodyEncoding = Encoding.UTF8 // Set encoding for the body
};Podpora kultury pro Word Viewer
Vlastnost DocumentCulture ve třídě WordConfig vám umožňuje explicitně definovat kulturu pro soubory DOC a DOCX. To zajišťuje, že lokalizovaný obsah – jako jsou data, měny a čísla – se zobrazí přesně tak, jak se zobrazuje v Microsoft Word. Toto je zvláště užitečné pro jazyky s konkrétními požadavky na formátování.
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)Stáhněte požadované soubory CSS a JS
Aby Doconut fungoval správně, musíte do svého projektu zahrnout konkrétní soubory CSS a JS. Všechny potřebné soubory můžete stáhnout ve formátu ZIP pomocí níže uvedeného odkazu: