Ρύθμιση σε .NET 6 ή νεότερο
Αρχείο Startup.cs
Στο αρχείο Startup.cs ενός έργου .NET Core, αυτές οι γραμμές κώδικα ορίζουν μια διαμόρφωση του pipeline μεσαίου λογισμικού χρησιμοποιώντας τη μέθοδο MapWhen. Το παρεχόμενο πρόβλεμμα ελέγχει αν το διαδρομή του εισερχόμενου αιτήματος τελειώνει με DocImage.axd. Μέσα σε αυτό το μπλοκ, η μέθοδος UseDoconut καλείται με ένα αντικείμενο DoconutOptions ως όρισμα.
app.MapWhen(
context => context.Request.Path.ToString().EndsWith("DocImage.axd"),
appBranch =>
{
appBranch.UseDoconut(new DoconutOptions { UnSafeMode = false, ShowDoconutInfo = false });
}
);Προσθήκη Doconut Namespaces
Στο έργο σας, προσθέστε τις ακόλουθες δηλώσεις using:
using Doconut;
using Doconut.Configs;
using Doconut.Formats;
using Doconut.Clouds;Δημιουργία αντικειμένου Viewer
Αυτή η γραμμή δημιουργεί ένα νέο στιγμιότυπο της κλάσης Viewer, επιτρέποντάς σας να δημιουργήσετε ένα αντικείμενο viewer στον κώδικά σας.
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);Ρύθμιση ενός αντικειμένου DocOptions
Παράδειγμα αρχικοποίησης ενός αντικειμένου DocOptions με συγκεκριμένες ρυθμίσεις:
var documentOptions = new DocOptions
{
Password = "",
ImageResolution = 200,
TimeOut = 30
};Δημιουργία αντικειμένου ρυθμίσεων
Αρχικοποιήστε ένα νέο αντικείμενο PdfConfig με συγκεκριμένες ρυθμίσεις για τη διαχείριση εγγράφων PDF:
var config = new PdfConfig { DefaultRender = true, ExtractHyperlinks = true };Ανοίξτε το έγγραφό σας
Αυτή η γραμμή καλεί τη μέθοδο OpenDocument του αντικειμένου προβολής, περνώντας τη διαδρομή του αρχείου εγγράφου που βρίσκεται στον διακομιστή και τα προηγουμένως διαμορφωμένα αντικείμενα PdfConfig και DocOptions ως παραμέτρους.
var token = docViewer.OpenDocument(pathToFile, config, documentOptions);Προσθέστε τον προβολέα στο HTML σας
<div id="div_ctlDoc"></div>Προσθήκη αρχείων CSS και JavaScript
Προσθέστε τα παρακάτω αρχεία CSS και JavaScript στη σελίδα. Αυτά τα σενάρια περιλαμβάνονται στο αρχείο ZIP με παραδείγματα κώδικα.
<!-- 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>Προσθήκη Αδειών στο Έργο σας
Αυτόματη Ανίχνευση Άδειας
Για να αρχικοποιήσετε το docViewer με αυτόματη ανίχνευση άδειας, χρησιμοποιήστε την παρακάτω γραμμή:
var docViewer = new Viewer(_cache, _accessor);Προσθήκη Προεπιλεγμένης Άδειας Χειροκίνητα
Μπορείτε να καθορίσετε χειροκίνητα τη διαδρομή προς ένα μοναδικό προεπιλεγμένο αρχείο άδειας κατά την αρχικοποίηση του προβολέα.
var licenseFilePath = Path.Combine(_hostingEnvironment.WebRootPath, "path/to/your/license");
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);Προσθήκη Άδειας μέσω Ροής
Αυτή η μέθοδος χρησιμοποιεί την υπερφόρτωση Viewer.DoconutLicense(Stream licenseStream) για να προσθέσει μια άδεια χρησιμοποιώντας ροή.
using (var licenseStream = new FileStream("path/to/your/license", FileMode.Open))
{
Viewer.DoconutLicense(licenseStream);
}Προσθήκη Άδειας μέσω Εγγράφου XML
Αυτή η μέθοδος χρησιμοποιεί την υπερφόρτωση Viewer.DoconutLicense(XMLDocument licence) για να προσθέσει μια άδεια χρησιμοποιώντας ένα έγγραφο XML.
var xmlDoc = new XmlDocument();
xmlDoc.Load("path/to/your/license.xml");
Viewer.DoconutLicense(xmlDoc);Προεπιλεγμένες Πολλαπλές Άδειες Πρόσθετων Χειροκίνητα
Εάν χρειάζεται να καθορίσετε πολλαπλές άδειες, μπορείτε να παρέχετε μια λίστα διαδρομών αρχείων στην αρχικοποίηση του προβολέα.
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) για να προσθέσει μια άδεια πρόσθετου χρησιμοποιώντας ροή.
using (var pluginLicenseStream = new FileStream("path/to/your/plugin-license.lic", FileMode.Open))
{
Viewer.SetLicensePlugin(pluginLicenseStream);
}Προσθήκη Άδειας Πρόσθετου μέσω Εγγράφου XML
Αυτή η μέθοδος χρησιμοποιεί την υπερφόρτωση Viewer.SetLicensePlugin(XMLDocument xmlPluginLicence) για να προσθέσει μια άδεια πρόσθετου χρησιμοποιώντας ένα έγγραφο XML.
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. Προσθέστε το σχόλιο στο διαχειριστή και φορτώστε το στον προβολέα εγγράφων για εμφάνιση.
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. Προσθέστε και σχεδιάστε το σχόλιο για να το εμφανίσετε στο έγγραφο.
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 που βασίζονται σε γραμματοσειρές που δεν είναι εγκατεστημένες στους προεπιλεγμένους καταλόγους γραμματοσειρών του συστήματος.
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.
var emailConfig = new EmailConfig {
EmailEncoding = Encoding.UTF8 // Set preferred email encoding
};Κωδικοποίηση Θέματος & Σώματος
Οι ιδιότητες SubjectEncoding και BodyEncoding στην κλάση EmailConfig ορίζουν την κωδικοποίηση που χρησιμοποιείται για το θέμα και το σώμα ενός email, αντίστοιχα.
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. Αυτό είναι ιδιαίτερα χρήσιμο για γλώσσες με συγκεκριμένες απαιτήσεις μορφοποίησης.
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)