Ρύθμιση σε .NET Standard / Core

Αρχείο Startup.cs

Στο αρχείο Startup.cs ενός έργου .NET Core, αυτές οι γραμμές κώδικα ορίζουν μια διαμόρφωση του pipeline μεσαζόντων χρησιμοποιώντας τη μέθοδο MapWhen. Η παρεχόμενη πρόταση ελέγχει εάν η διαδρομή του εισερχόμενου αιτήματος τελειώνει με DocImage.axd. Μέσα σε αυτό το μπλοκ, η μέθοδος UseDoconut καλείται με ένα αντικείμενο DoconutOptions ως όρισμα.

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

Προσθήκη Doconut Namespaces

Στο έργο σας, προσθέστε τις ακόλουθες δηλώσεις using:

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

Δημιουργία αντικειμένου Viewer

Αυτή η γραμμή δημιουργεί ένα νέο στιγμιότυπο της κλάσης Viewer, επιτρέποντάς σας να δημιουργήσετε ένα αντικείμενο προβολέα στον κώδικά σας.

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

Ρύθμιση ενός αντικειμένου DocOptions

Παράδειγμα αρχικοποίησης ενός αντικειμένου DocOptions με συγκεκριμένες ρυθμίσεις:

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

Ρύθμιση αντικειμένου διαμόρφωσης

Αρχικοποιήστε ένα νέο αντικείμενο PdfConfig με συγκεκριμένες ρυθμίσεις για τη διαχείριση εγγράφων PDF:

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

Ανοίξτε το έγγραφό σας

Αυτή η γραμμή καλεί τη μέθοδο OpenDocument του αντικειμένου προβολής, περνώντας τη διαδρομή του αρχείου εγγράφου που βρίσκεται στον διακομιστή και τα προηγουμένως διαμορφωμένα αντικείμενα PdfConfig και DocOptions ως παραμέτρους.

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

Προσθέστε το πρόγραμμα προβολής στο HTML σας

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

Προσθήκη αρχείων CSS και JavaScript

Προσθέστε τα παρακάτω αρχεία CSS και JavaScript στη σελίδα. Αυτά τα σενάρια περιλαμβάνονται στο αρχείο ZIP με δείγματα κώδικα.

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>

Προσθήκη Αδειών στο Έργο σας

Αυτόματη Ανίχνευση Άδειας

Για να αρχικοποιήσετε το docViewer με αυτόματη ανίχνευση άδειας, χρησιμοποιήστε την παρακάτω γραμμή:

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

Προσθήκη Χειροκίνητης Προεπιλεγμένης Άδειας

Μπορείτε να καθορίσετε χειροκίνητα τη διαδρομή σε ένα μόνο προεπιλεγμένο αρχείο άδειας κατά την αρχικοποίηση του προγράμματος προβολής.

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

Προσθήκη Άδειας μέσω Ροής

Αυτή η μέθοδος χρησιμοποιεί την υπερφόρτωση Viewer.DoconutLicense(Stream licenseStream) για να προσθέσει μια άδεια χρησιμοποιώντας ροή.

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

Προσθήκη Άδειας μέσω Εγγράφου XML

Αυτή η μέθοδος χρησιμοποιεί την υπερφόρτωση Viewer.DoconutLicense(XMLDocument licence) για να προσθέσει μια άδεια χρησιμοποιώντας ένα έγγραφο XML.

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

Χειροκίνητες Προεπιλεγμένες Πολλαπλές Άδειες Πρόσθετων

Εάν χρειάζεται να καθορίσετε πολλαπλές άδειες, μπορείτε να παρέχετε μια λίστα διαδρομών αρχείων στην αρχικοποίηση του προγράμματος προβολής.

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

Προσθήκη Άδειας Πρόσθετου μέσω Ροής

Αυτή η μέθοδος χρησιμοποιεί την υπερφόρτωση Viewer.SetLicensePlugin(Stream pluginLicence) για να προσθέσει μια άδεια πρόσθετου χρησιμοποιώντας ροή.

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

Προσθήκη Άδειας Πρόσθετου μέσω Εγγράφου XML

Αυτή η μέθοδος χρησιμοποιεί την υπερφόρτωση Viewer.SetLicensePlugin(XMLDocument xmlPluginLicence) για να προσθέσει μια άδεια πρόσθετου χρησιμοποιώντας ένα έγγραφο XML.

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

Απαιτούμενα Πακέτα NuGet

Για να διασφαλίσετε ότι το έργο σας είναι πλήρως συμβατό με το .NET Core Standard, πρέπει να συμπεριληφθούν τα παρακάτω πακέτα NuGet, ταξινομημένα αλφαβητικά.

  • MessagePack - Έκδοση 2.5.140
  • Microsoft.Bcl.AsyncInterfaces - Έκδοση 8.0.0
  • Microsoft.Extensions.Caching.Abstractions - Έκδοση 8.0.0
  • Microsoft.Extensions.Configuration - Έκδοση 8.0.0
  • Microsoft.Extensions.Configuration.Abstractions - Έκδοση 8.0.0
  • Microsoft.Extensions.Configuration.FileExtensions - Έκδοση 8.0.0
  • Microsoft.Extensions.Configuration.Json - Έκδοση 8.0.0
  • Microsoft.Extensions.FileProviders.Abstractions - Έκδοση 8.0.0
  • Microsoft.Extensions.FileProviders.Physical - Έκδοση 8.0.0
  • Microsoft.Extensions.FileSystemGlobbing - Έκδοση 8.0.0
  • Microsoft.Extensions.Primitives - Έκδοση 8.0.0
  • System.Buffers - Έκδοση 4.5.1
  • System.Formats.Asn1 - Έκδοση 8.0.0
  • System.Numerics.Vectors - Έκδοση 4.5.0
  • System.Security.Cryptography.Cng - Έκδοση 5.0.0
  • System.Security.Cryptography.Pkcs - Έκδοση 8.0.0
  • System.Text.Encoding.CodePages - Έκδοση 8.0.0
  • System.Text.Encodings.Web - Έκδοση 8.0.0
  • System.Text.Json - Έκδοση 8.0.3
  • System.Threading.Tasks.Extensions - Έκδοση 4.5.4

Επιλογές Διαμόρφωσης Απόδοσης

Μπορείτε να διαμορφώσετε τη συμπεριφορά απόδοσης χρησιμοποιώντας τις παρακάτω επιλογές:

  • CadConfig: Χρησιμοποιείται για αρχεία DWG, DXF και DGN.
  • EmailConfig: Χρησιμοποιείται για αρχεία EML, EMLX και MSG.
  • EpubConfig: Χρησιμοποιείται για αρχεία EPUB.
  • ExcelConfig: Χρησιμοποιείται για αρχεία Excel και CSV.
  • MhtConfig: Χρησιμοποιείται για αρχεία MHT.
  • PptConfig: Χρησιμοποιείται για αρχεία PowerPoint.
  • ProjectConfig: Χρησιμοποιείται για αρχεία MPP.
  • PsdConfig: Χρησιμοποιείται για αρχεία PSD.
  • TxtConfig: Χρησιμοποιείται για αρχεία TXT.
  • TiffConfig: Χρησιμοποιείται για αρχεία TIFF.

Διαμόρφωση Επιλογών Απόδοσης

Οι επιλογές απόδοσης διαμορφώνονται χρησιμοποιώντας την ιδιότητα DefaultRender:

  • DefaultRender = true : Αυτή η επιλογή προσφέρει υψηλότερη ποιότητα απόδοσης αλλά χρησιμοποιεί περισσότερη μνήμη διακομιστή και χρόνο επεξεργασίας.
  • DefaultRender = false : Αυτή η επιλογή παρέχει ταχύτερη απόδοση με κόστος ελαφρώς μειωμένης ποιότητας.

Πώς να προσθέσετε μια Σημείωση Εικόνας

Σε C#

1. Ανοίξτε το έγγραφο και λάβετε τις διαστάσεις της πρώτης σελίδας. 2. Αρχικοποιήστε το AnnotationManager με τις διαστάσεις της σελίδας. 3. Δημιουργήστε ένα ImageAnnotation, ορίζοντας τη διαδρομή της εικόνας στο imgUrl, και καθορίστε τη θέση και το μέγεθος μέσα στο Rectangle. 4. Προσθέστε τη σημείωση στον διαχειριστή και φορτώστε την στον προβολέα εγγράφων για εμφάνιση.

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

Σε JavaScript

1. Βεβαιωθείτε ότι το YourController είναι διαθέσιμο. 2. Δημιουργήστε ένα νέο ImageAnnotation, ορίζοντας τη διαδρομή της εικόνας με το SetNote. 3. Προσθέστε και σχεδιάστε τη σημείωση για να την εμφανίσετε στο έγγραφο.

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

Προσαρμοσμένες γραμματοσειρές σε έγγραφα Word

Η ιδιότητα FontFolders στην κλάση WordConfig καθορίζει προσαρμοσμένους καταλόγους όπου η εφαρμογή θα αναζητήσει γραμματοσειρές. Αυτό είναι ιδιαίτερα χρήσιμο για την επεξεργασία εγγράφων Word που βασίζονται σε γραμματοσειρές που δεν είναι εγκατεστημένες στους προεπιλεγμένους καταλόγους γραμματοσειρών του συστήματος.

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

Σημαντική ενημέρωση για το Doconut 25.2.0

Είναι απαραίτητο να ενημερώσετε το πακέτο System.Text.Json στην έκδοση 8.0.5 σε όλα τα έργα σας. Αυτή η ενημέρωση είναι κρίσιμη για να εξασφαλιστεί η συμβατότητα με τις τελευταίες λειτουργίες και για την αντιμετώπιση σημαντικών βελτιώσεων ασφαλείας.

Κωδικοποίηση Ηλεκτρονικού Ταχυδρομείου

Η ιδιότητα EmailEncoding στην κλάση EmailConfig καθορίζει την προτιμώμενη κωδικοποίηση για το θέμα και το σώμα του email.

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

Κωδικοποίηση Θέματος & Σώματος

Οι ιδιότητες SubjectEncoding και BodyEncoding στην κλάση EmailConfig ορίζουν την κωδικοποίηση που χρησιμοποιείται για το θέμα και το σώμα ενός email, αντίστοιχα.

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

Υποστήριξη Πολιτισμού Προβολής Word

Η ιδιότητα DocumentCulture στην κλάση WordConfig σας επιτρέπει να ορίσετε ρητά τον πολιτισμό για αρχεία DOC και DOCX. Αυτό εξασφαλίζει ότι το τοπικοποιημένο περιεχόμενο — όπως ημερομηνίες, νομίσματα και αριθμοί — εμφανίζεται ακριβώς όπως στο Microsoft Word. Αυτό είναι ιδιαίτερα χρήσιμο για γλώσσες με συγκεκριμένες απαιτήσεις μορφοποίησης.

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)