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 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
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 ett nytt objekt av Viewer-klassen, vilket gör att du kan skapa ett viewer-objekt i din kod.
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);Konfigurera ett DocOptions-objekt
Exempel på initiering av ett DocOptions-objekt med specifika konfigurationer:
var documentOptions = new DocOptions
{
Password = "",
ImageResolution = 200,
TimeOut = 30
};Konfigurera 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 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 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 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-initialiseringen.
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);Nödvändiga 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
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.
Konfiguration av renderingsalternativ
Renderingsalternativen konfigureras med egenskapen DefaultRender:
- DefaultRender = true : Detta alternativ ger rendering av högre kvalitet men använder mer serverminne och processortid.
- DefaultRender = false : Detta alternativ ger snabbare rendering på bekostnad av något reducerad 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 inom Rectangle. 4. Lägg till annotationen i managern 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, ange bildens sökväg med SetNote. 3. Lägg till och måla annotationen 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 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
EpostEncoding-egenskapen i EmailConfig-klassen specificerar 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- och brödtextkodning
SubjectEncoding- och BodyEncoding-egenskaperna i EmailConfig-klassen definierar den kodning som används för respektive e-postämne och brödtext.
var emailConfig = new EmailConfig {
SubjectEncoding = Encoding.UTF8, // Set encoding for the subject
BodyEncoding = Encoding.UTF8 // Set encoding for the body
};Stöd för kultur i Word Viewer
DocumentCulture-egenskapen 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)