Installation i .NET 6 eller högre

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.

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

I ditt projekt, lägg till följande using-satser:

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

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
};

Ställ in 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å visningsobjektet 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 visaren 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
<!-- 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 visaren.

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 Viewer.DoconutLicense(Stream licenseStream)-överladdning för att lägga till en licens med 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 Viewer.DoconutLicense(XMLDocument licence)-överladdning för att lägga till en licens med 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 visarens initiering.

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 Viewer.SetLicensePlugin(Stream pluginLicence)-överladdning för att lägga till en plugin-licens med 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 Viewer.SetLicensePlugin(XMLDocument xmlPluginLicence)-överladdning för att lägga till en plugin-licens med 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 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 hjälp av 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 annotationen i managern och ladda den i dokumentvisaren för att visa.

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

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.

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

Egenskapen EmailEncoding i klassen EmailConfig 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
};

Ämne- och 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.

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

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.

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