Installation i .NET 6 eller högre
Startup.cs-fil
I Startup.cs-filen i ett .NET Core-projekt definierar dessa kodrader en middleware-pipelinekonfiguration med hjälp av MapWhen‑metoden. Den angivna predikatet kontrollerar om den inkommande begärans sökväg slutar med DocImage.axd. Inuti detta block anropas UseDoconut‑metoden 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-namespace
Lägg till följande using‑satser i ditt projekt:
using Doconut;
using Doconut.Configs;
using Doconut.Formats;
using Doconut.Clouds;Instansiera Viewer‑objekt
Denna rad skapar 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
};Skapa ett konfigurationsobjekt
Initiera ett nytt PdfConfig‑objekt med specifika konfigurationer för hantering av PDF‑dokument:
var config = new PdfConfig { DefaultRender = true, ExtractHyperlinks = true };Öppna ditt dokument
Denna rad anropar OpenDocument‑metoden på viewer‑objektet och skickar med 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 viewer 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 finns inkluderade i ZIP‑filen med kodexempel.
<!-- 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>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 viewer.
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 viewer‑initieringen.
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 helt 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
Renderingskonfigurationsalternativ
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.
Renderingsalternativskonfiguration
Renderingsalternativen konfigureras med hjälp av 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 minskad kvalitet.
Hur man lägger till en bildannotation
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 i en Rectangle. 4. Lägg till annotationen i hanteraren och ladda den i dokumentvisaren för att visa den.
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 och ange bildens sökväg med SetNote. 3. Lägg till och måla annotationen för att rendera den i 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
Egendomligheten FontFolders i WordConfig‑klassen anger anpassade kataloger där applikationen söker efter teckensnitt. Detta är särskilt användbart för bearbetning av Word-dokument som förlitar sig på teckensnitt som inte är installerade i systemets standardteckensnittskataloger.
var config = new WordConfig
{
FontFolders = new string[] { "C:\\CustomFonts", "D:\\SharedFonts" }
};Viktig uppdatering för Doconut 25.2.0
Det är nödvändigt 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
Egendomligheten EmailEncoding i EmailConfig‑klassen anger den föredragna kodningen för både e‑postens ämne och brödtext.
var emailConfig = new EmailConfig {
EmailEncoding = Encoding.UTF8 // Set preferred email encoding
};Ämne & brödtextkodning
Egendomligheterna SubjectEncoding och BodyEncoding i EmailConfig‑klassen definierar den kodning som används för respektive e‑postens ämne och brödtext.
var emailConfig = new EmailConfig {
SubjectEncoding = Encoding.UTF8, // Set encoding for the subject
BodyEncoding = Encoding.UTF8 // Set encoding for the body
};Ladda ner nödvändiga CSS‑ och JS‑filer
För att säkerställa att Doconut fungerar korrekt måste du inkludera specifika CSS‑ och JS‑filer i ditt projekt. Du kan ladda ner en ZIP‑fil som innehåller alla nödvändiga filer via länken nedan: