Installation i .NET Standard / Core
Startup.cs-fil
Inom Startup.cs-filen i ett .NET Core-projekt definierar dessa kodrader en konfiguration av middleware-pipelinen med hjälp av MapWhen-metoden. Det angivna predikatet kontrollerar om den inkommande begärans sökväg slutar med DocImage.axd. Inuti detta block anropas metoden UseDoconut med ett DoconutOptions-objekt som argument.
app.MapWhen(
context => context.Request.Path.ToString().EndsWith("DocImage.axd"),
appBranch =>
{
appBranch.UseDoconut(new DoconutOptions { UnSafeMode = false, ShowDoconutInfo = false });
}
);Lägg till Doconut namnrymder
I ditt projekt, lägg till följande using-satser:
using Doconut;
using Doconut.Configs;
using Doconut.Formats;
using Doconut.Clouds;Instansiera Viewer-objekt
Denna rad instansierar en ny instans av Viewer-klassen, vilket gör att du kan skapa ett viewer-objekt i din kod.
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);Skapa ett DocOptions-objekt
Exempel på initiering av ett DocOptions-objekt med specifika konfigurationer:
var documentOptions = new DocOptions
{
Password = "",
ImageResolution = 200,
TimeOut = 30
};Ställ in ett konfigurationsobjekt
Initiera ett nytt PdfConfig-objekt med specifika konfigurationer för att hantera PDF-dokument:
var config = new PdfConfig { DefaultRender = true, ExtractHyperlinks = true };Öppna ditt dokument
Denna rad anropar OpenDocument-metoden på visningsobjektet och skickar sökvägen till dokumentfilen som ligger på servern samt de tidigare konfigurerade PdfConfig- och DocOptions-objekten som parametrar.
var token = docViewer.OpenDocument(pathToFile, config, documentOptions);Lägg till visaren i din HTML
<div id="div_ctlDoc"></div>Lägg till CSS- och JavaScript-filer
Lägg till följande CSS- och JavaScript-filer på sidan. Dessa skript ingår i ZIP-filen med kodexempel.
<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>Lägg till licenser i ditt projekt
Automatisk licensdetektering
För att initiera docViewer med automatisk licensdetektering, använd följande rad:
var docViewer = new Viewer(_cache, _accessor);Lägg till manuell standardlicens
Du kan manuellt ange sökvägen till en enda standardlicensfil när du initierar visaren.
var licenseFilePath = Path.Combine(_hostingEnvironment.WebRootPath, "path/to/your/license");
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);Lägg till licens via ström
Denna metod använder overloaden Viewer.DoconutLicense(Stream licenseStream) för att lägga till en licens via en ström.
using (var licenseStream = new FileStream("path/to/your/license", FileMode.Open))
{
Viewer.DoconutLicense(licenseStream);
}Lägg till licens via XML-dokument
Denna metod använder overloaden Viewer.DoconutLicense(XMLDocument licence) för att lägga till en licens via ett XML-dokument.
var xmlDoc = new XmlDocument();
xmlDoc.Load("path/to/your/license.xml");
Viewer.DoconutLicense(xmlDoc);Manuell standard för flera plugin-licenser
Om du behöver ange flera licenser kan du tillhandahålla en lista med filsökvägar till visarens initiering.
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);Lägg till plugin-licens via ström
Denna metod använder overloaden Viewer.SetLicensePlugin(Stream pluginLicence) för att lägga till en plugin-licens via en ström.
using (var pluginLicenseStream = new FileStream("path/to/your/plugin-license.lic", FileMode.Open))
{
Viewer.SetLicensePlugin(pluginLicenseStream);
}Lägg till plugin-licens via XML-dokument
Denna metod använder overloaden Viewer.SetLicensePlugin(XMLDocument xmlPluginLicence) för att lägga till en plugin-licens via ett XML-dokument.
var pluginXmlDoc = new XmlDocument();
pluginXmlDoc.Load("path/to/your/plugin-license.xml");
Viewer.SetLicensePlugin(pluginXmlDoc);Obligatoriska NuGet-paket
För att säkerställa att ditt projekt är fullt kompatibelt med .NET Core Standard måste följande NuGet-paket inkluderas, listade i alfabetisk ordning.
- 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
Renderingsalternativ
Du kan konfigurera renderingsbeteendet med följande alternativ:
- CadConfig: Används för DWG, DXF och DGN-filer.
- EmailConfig: Används för EML, EMLX och MSG-filer.
- EpubConfig: Används för EPUB-filer.
- ExcelConfig: Används för Excel- och CSV-filer.
- MhtConfig: Används för MHT-filer.
- PptConfig: Används för PowerPoint-filer.
- ProjectConfig: Används för MPP-filer.
- PsdConfig: Används för PSD-filer.
- TxtConfig: Används för TXT-filer.
- TiffConfig: Används för TIFF-filer.
Konfiguration av renderingsalternativ
Renderingsalternativen konfigureras med egenskapen DefaultRender:
- DefaultRender = true : Detta alternativ ger rendering av högre kvalitet men använder mer serverminne och bearbetningstid.
- DefaultRender = false : Detta alternativ ger snabbare rendering på bekostnad av något reducerad kvalitet.
Hur man lägger till en bildanteckning
I C#
1. Öppna dokumentet och hämta dimensionerna för den första sidan. 2. Initiera AnnotationManager med sidans dimensioner. 3. Skapa en ImageAnnotation, ange bildens sökväg i imgUrl, och specificera position och storlek inom Rectangle. 4. Lägg till anteckningen i managern och ladda den i dokumentvisaren för att visa.
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());
}I JavaScript
1. Säkerställ att YourController är tillgänglig. 2. Skapa en ny ImageAnnotation, ange bildens sökväg med SetNote. 3. Lägg till och måla anteckningen för att rendera den på dokumentet.
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();
}
}Anpassade teckensnitt i Word-dokument
FontFolders‑egenskapen i WordConfig‑klassen specificerar anpassade kataloger där applikationen kommer att söka efter teckensnitt. Detta är särskilt användbart för att bearbeta Word-dokument som förlitar sig på teckensnitt som inte är installerade i systemets standardkataloger för teckensnitt.
var config = new WordConfig
{
FontFolders = new string[] { "C:\\CustomFonts", "D:\\SharedFonts" }
};Viktig uppdatering för Doconut 25.2.0
Det är viktigt att uppdatera System.Text.Json-paketet till version 8.0.5 i alla dina projekt. Denna uppdatering är avgörande för att säkerställa kompatibilitet med de senaste funktionerna och för att åtgärda viktiga säkerhetsförbättringar.
E-postkodning
Egenskapen EmailEncoding i EmailConfig-klassen specificerar den föredragna kodningen för både e-postens ämne och innehåll.
var emailConfig = new EmailConfig {
EmailEncoding = Encoding.UTF8 // Set preferred email encoding
};Ämne & brödtextkodning
Egenskaperna SubjectEncoding och BodyEncoding i EmailConfig-klassen definierar den kodning som används för ämnet respektive brödtexten i ett e‑postmeddelande.
var emailConfig = new EmailConfig {
SubjectEncoding = Encoding.UTF8, // Set encoding for the subject
BodyEncoding = Encoding.UTF8 // Set encoding for the body
};Kulturstöd för Word-visare
Egenskapen DocumentCulture i WordConfig-klassen låter dig explicit definiera kulturen för DOC- och DOCX-filer. Detta säkerställer att lokalt innehåll—såsom datum, valutor och siffror—renderas exakt som i Microsoft Word. Detta är särskilt användbart för språk med specifika formateringskrav.
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)