Nastavení v .NET Standard / Core

Soubor Startup.cs

V souboru Startup.cs projektu .NET Core tyto řádky kódu definují konfiguraci middleware pipeline pomocí metody MapWhen. Poskytnutá podmínka kontroluje, zda cesta příchozího požadavku končí na DocImage.axd. Uvnitř tohoto bloku je zavolána metoda UseDoconut s objektem DoconutOptions jako argumentem.

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

Přidat jmenné prostory Doconut

Ve vašem projektu přidejte následující using direktivy:

Usings
using Doconut;
using Doconut.Configs;
using Doconut.Formats;
using Doconut.Clouds;

Vytvořit instanci objektu Viewer

Tento řádek vytvoří novou instanci třídy Viewer, což vám umožní vytvořit objekt viewer ve vašem kódu.

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

Nastavit objekt DocOptions

Příklad inicializace objektu DocOptions s konkrétními nastaveními:

DocOptions
var documentOptions = new DocOptions
{
    Password = "",
    ImageResolution = 200,
    TimeOut = 30
};

Nastavit konfigurační objekt

Inicializujte nový objekt PdfConfig s konkrétními nastaveními pro zpracování PDF dokumentů:

PdfConfig
var config = new PdfConfig { DefaultRender = true, ExtractHyperlinks = true };

Otevřít váš dokument

Tento řádek volá metodu OpenDocument objektu viewer, předává cestu k souboru dokumentu umístěnému na serveru a dříve nakonfigurované objekty PdfConfig a DocOptions jako parametry.

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

Přidat viewer do vašeho HTML

HTML
<div id="div_ctlDoc"></div>

Přidat soubory CSS a JavaScript

Přidejte následující soubory CSS a JavaScript na stránku. Tyto skripty jsou zahrnuty v ZIP souboru s ukázkovým kódem.

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>

Přidat licence do vašeho projektu

Automatická detekce licence

Pro inicializaci docViewer s automatickou detekcí licence použijte následující řádek:

C#
var docViewer = new Viewer(_cache, _accessor);

Přidat manuální výchozí licenci

Můžete ručně zadat cestu k jednomu výchozímu licenčnímu souboru při inicializaci vieweru.

C#
var licenseFilePath = Path.Combine(_hostingEnvironment.WebRootPath, "path/to/your/license");
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);

Přidat licenci pomocí proudu

Tato metoda používá přetížení Viewer.DoconutLicense(Stream licenseStream) k přidání licence pomocí proudu.

C#
using (var licenseStream = new FileStream("path/to/your/license", FileMode.Open))
{
    Viewer.DoconutLicense(licenseStream);
}

Přidat licenci pomocí XML dokumentu

Tato metoda používá přetížení Viewer.DoconutLicense(XMLDocument licence) k přidání licence pomocí XML dokumentu.

C#
var xmlDoc = new XmlDocument();
xmlDoc.Load("path/to/your/license.xml");
Viewer.DoconutLicense(xmlDoc);

Manuální výchozí více licencí pluginů

Pokud potřebujete zadat více licencí, můžete poskytnout seznam cest k souborům při inicializaci vieweru.

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

Přidat licenci pluginu pomocí proudu

Tato metoda používá přetížení Viewer.SetLicensePlugin(Stream pluginLicence) k přidání licence pluginu pomocí proudu.

C#
using (var pluginLicenseStream = new FileStream("path/to/your/plugin-license.lic", FileMode.Open))
{
    Viewer.SetLicensePlugin(pluginLicenseStream);
}

Přidat licenci pluginu pomocí XML dokumentu

Tato metoda používá přetížení Viewer.SetLicensePlugin(XMLDocument xmlPluginLicence) k přidání licence pluginu pomocí XML dokumentu.

C#
var pluginXmlDoc = new XmlDocument();
pluginXmlDoc.Load("path/to/your/plugin-license.xml");
Viewer.SetLicensePlugin(pluginXmlDoc);

Požadované balíčky NuGet

Aby byl váš projekt plně kompatibilní s .NET Core Standard, je třeba zahrnout následující NuGet balíčky, uvedené v abecedním pořadí.

  • 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

Možnosti konfigurace renderování

Můžete nastavit chování renderování pomocí následujících možností:

  • CadConfig: Používá se pro soubory DWG, DXF a DGN.
  • EmailConfig: Používá se pro soubory EML, EMLX a MSG.
  • EpubConfig: Používá se pro soubory EPUB.
  • ExcelConfig: Používá se pro soubory Excel a CSV.
  • MhtConfig: Používá se pro soubory MHT.
  • PptConfig: Používá se pro soubory PowerPoint.
  • ProjectConfig: Používá se pro soubory MPP.
  • PsdConfig: Používá se pro soubory PSD.
  • TxtConfig: Používá se pro soubory TXT.
  • TiffConfig: Používá se pro soubory TIFF.

Konfigurace možností renderování

Možnosti renderování jsou konfigurovány pomocí vlastnosti DefaultRender:

  • DefaultRender = true : Tato možnost poskytuje vyšší kvalitu renderování, ale používá více paměti serveru a výpočetního času.
  • DefaultRender = false : Tato možnost poskytuje rychlejší renderování na úkor mírně snížené kvality.

Jak přidat anotaci obrázku

V C#

1. Otevřete dokument a zjistěte rozměry první stránky. 2. Inicializujte AnnotationManager s rozměry stránky. 3. Vytvořte ImageAnnotation, nastavte cestu k obrázku v imgUrl a určte pozici a velikost v Rectangle. 4. Přidejte anotaci do manageru a načtěte ji v document vieweru pro zobrazení.

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

V JavaScriptu

1. Ujistěte se, že je k dispozici YourController. 2. Vytvořte novou ImageAnnotation, nastavte cestu k obrázku pomocí SetNote. 3. Přidejte a vykreslete anotaci, aby se zobrazila v dokumentu.

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

Vlastní fonty ve Word dokumentech

Vlastnost FontFolders ve třídě WordConfig určuje vlastní adresáře, ve kterých bude aplikace hledat fonty. To je zvláště užitečné pro zpracování Word dokumentů, které spoléhají na fonty nenainstalované v systém's výchozích adresářích fontů.

Usage
var config = new WordConfig
{
    FontFolders = new string[] { "C:\\CustomFonts", "D:\\SharedFonts" }
};

Důležitá aktualizace pro Doconut 25.2.0

Je nezbytné aktualizovat balíček System.Text.Json na verzi 8.0.5 ve všech vašich projektech. Tato aktualizace je klíčová pro zajištění kompatibility s nejnovějšími funkcemi a pro řešení důležitých bezpečnostních vylepšení.

Kódování e‑mailu

Vlastnost EmailEncoding ve třídě EmailConfig určuje preferované kódování jak předmětu, tak těla e‑mailu.

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

Kódování předmětu a těla

Vlastnosti SubjectEncoding a BodyEncoding ve třídě EmailConfig definují kódování použité pro předmět a tělo e‑mailu, respektive.

Usage
var emailConfig = new EmailConfig {
    SubjectEncoding = Encoding.UTF8, // Set encoding for the subject
    BodyEncoding = Encoding.UTF8     // Set encoding for the body
};

Stáhněte požadované soubory CSS a JS

Aby Doconut fungoval správně, musíte do svého projektu zahrnout konkrétní soubory CSS a JS. Kompletní soubory můžete stáhnout ve formátu ZIP pomocí níže uvedeného odkazu:

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)