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.

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-namespace

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 med 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 finns inkluderade i ZIP‑filen med kodexempel.

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

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.

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 overloaden 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 overloaden 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 overloaden 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 overloaden 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);

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.

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

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

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.

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

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

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