הגדרה ב-.NET 6 ומעלה
קובץ Startup.cs
בתוך קובץ Startup.cs של פרויקט .NET Core, הקווים אלה של קוד מגדירים תצורת צינור משודרג (middleware) באמצעות השיטה 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
בפרויקט שלך, הוסף את הצהרות 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
};הגדרת אובייקט config
אתחל אובייקט PdfConfig חדש עם תצורות ספציפיות לטיפול בקבצי PDF:
var config = new PdfConfig { DefaultRender = true, ExtractHyperlinks = true };פתיחת המסמך שלך
שורה זו קוראת לשיטה OpenDocument של אובייקט ה-viewer, ומעבירה את הנתיב לקובץ המסמך הממוקם בשרת ואת האובייקטים PdfConfig ו-DocOptions שהוגדרו בעבר כפרמטרים.
var token = docViewer.OpenDocument(pathToFile, config, documentOptions);הוספת ה-viewer ב-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);הוספת רישיון ברירת מחדל ידני
אתה יכול לציין ידנית את הנתיב לקובץ רישיון ברירת מחדל יחיד כאשר אתה מאתחל את ה-viewer.
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);רישיונות תוסף מרובים ברירת מחדל ידנית
אם אתה צריך לציין רישיונות מרובים, אתה יכול לספק רשימת נתיבי קבצים לאתחול ה-viewer.
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 - 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. הוסף את האנוטציה למנהל וטען אותה ב-document viewer להצגה.
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 בכל הפרויקטים שלך. עדכון זה קריטי כדי להבטיח תאימות לתכונות החדשות ולפתור שיפורי אבטחה חשובים.
קידוד אימייל
המאפיין EmailEncoding במחלקת EmailConfig מציין את הקידוד המועדף עבור נושא האימייל והגוף שלו.
var emailConfig = new EmailConfig {
EmailEncoding = Encoding.UTF8 // Set preferred email encoding
};קידוד נושא וגוף
המאפיינים SubjectEncoding ו-BodyEncoding במחלקת EmailConfig מגדירים את הקידוד המשמש עבור נושא האימייל והגוף, בהתאמה.
var emailConfig = new EmailConfig {
SubjectEncoding = Encoding.UTF8, // Set encoding for the subject
BodyEncoding = Encoding.UTF8 // Set encoding for the body
};תמיכה בתרבות ב-Word Viewer
המאפיין DocumentCulture במחלקת WordConfig מאפשר לך להגדיר במפורש את התרבות עבור קבצי DOC ו‑DOCX. זה מבטיח שהקונספט המקומי – כגון תאריכים, מטבעות ומספרים – יוצג בדיוק כפי שהוא במייקרוסופט וורד. זה במיוחד שימושי לשפות עם דרישות פורמט מיוחדות.
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)הורדת קבצי CSS ו-JS נדרשים
כדי להבטיח ש-Doconut פועלת כראוי, עליך לכלול קבצי CSS ו‑JS ספציפיים בפרויקט שלך. אתה יכול להוריד קובץ ZIP המכיל את כל הקבצים הדרושים באמצעות הקישור שלמטה: