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

Αρχείο Startup.cs

Στο αρχείο Startup.cs ενός έργου .NET Core, αυτές οι γραμμές κώδικα ορίζουν τη διαμόρφωση της αλυσίδας ενδιάμεσων λογισμικών (middleware) χρησιμοποιώντας τη μέθοδο 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

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

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

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

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

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

Διαμόρφωση αντικειμένου DocOptions

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

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

Διαμόρφωση αντικειμένου config

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

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

Άνοιγμα του εγγράφου σας

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

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

Προσθήκη του viewer στο 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);

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

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

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

Προεπιλεγμένες πολλαπλές άδειες plugin χειροκίνητα

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

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

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

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

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

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

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

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

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

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

  • 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

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

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

  • 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 που βασίζονται σε γραμματοσειρές που δεν είναι εγκατεστημένες στους προεπιλεγμένους καταλόγους γραμματοσειρών του system's.

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

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

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

Κωδικοποίηση Email

Η ιδιότητα 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
};

Λήψη απαιτούμενων αρχείων CSS και JS

Για να λειτουργεί σωστά το Doconut, πρέπει να συμπεριλάβετε συγκεκριμένα αρχεία CSS και JS στο έργο σας. Μπορείτε να κατεβάσετε ένα αρχείο ZIP που περιέχει όλα τα απαραίτητα αρχεία χρησιμοποιώντας το παρακάτω σύνδεσμο:

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)