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 på DocImage.axd. Inuti detta block anropas UseDoconut‑metoden med ett DoconutOptions‑objekt som argument.

Startup.cs
app.MapWhen(
    context => context.Request.Path.ToString().EndsWith("DocImage.axd"),
    appBranch =>
    {
        appBranch.UseDoconut(new DoconutOptions { UnSafeMode = false, ShowDoconutInfo = false });
    }
);

Lägg till Doconut-namnrymder

Lägg till följande using‑satser i ditt projekt:

Usings
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.

Instantiation
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);

Skapa ett DocOptions‑objekt

Exempel på initiering av ett DocOptions‑objekt med specifika konfigurationer:

DocOptions
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:

PdfConfig
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.

OpenDocument
var token = docViewer.OpenDocument(pathToFile, config, documentOptions);

Lägg till viewer i din HTML

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.

HTML Headers
<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:

C#
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‑objektet.

C#
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 överlagringen Viewer.DoconutLicense(Stream licenseStream) för att lägga till en licens via en ström.

C#
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 överlagringen Viewer.DoconutLicense(XMLDocument licence) för att lägga till en licens via ett XML‑dokument.

C#
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.

C#
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 överlagringen Viewer.SetLicensePlugin(Stream pluginLicence) för att lägga till en plugin‑licens via en ström.

C#
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 överlagringen Viewer.SetLicensePlugin(XMLDocument xmlPluginLicence) för att lägga till en plugin‑licens via ett XML‑dokument.

C#
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 hjälp av egenskapen DefaultRender:

  • DefaultRender = true : Detta alternativ ger högre kvalitet på rendering men använder mer serverminne och bearbetningstid.
  • DefaultRender = false : Detta alternativ ger snabbare rendering på bekostnad av något sänkt kvalitet.

Hur du 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 visas.

C#
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. Se till 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 anteckningen för att rendera den på dokumentet.

JavaScript
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

Egenskapen FontFolders i WordConfig‑klassen specificerar anpassade kataloger där applikationen kommer att söka efter teckensnitt. Detta är särskilt användbart för att behandla Word‑dokument som förlitar sig på teckensnitt som inte är installerade i systemets standardteckensnittskataloger.

Usage
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-post‑kodning

Egenskapen EmailEncoding i EmailConfig‑klassen specificerar den föredragna kodningen för både e-postens ämne och innehåll.

Usage
var emailConfig = new EmailConfig {
    EmailEncoding = Encoding.UTF8 // Set preferred email encoding
};

Kodning för ämne och innehåll

Egenskaperna SubjectEncoding och BodyEncoding i EmailConfig‑klassen definierar den kodning som används för respektive e-postens ämne och innehåll.

Usage
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 Doconut ska fungera 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: