התקנה ב-.NET Standard / Core
קובץ 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 עם דוגמאות קוד.
<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 עם זיהוי רישיות אוטומטי, השתמש בשורה הבאה:
var docViewer = new Viewer(_cache, _accessor);הוספת רישיות ברירת מחדל ידנית
ניתן לציין ידנית את הנתיב לקובץ רישייה ברירת מחדל יחיד כאשר מאתחלים את ה-viewer.
var licenseFilePath = Path.Combine(_hostingEnvironment.WebRootPath, "path/to/your/license");
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);הוספת רישייה באמצעות Stream
שיטה זו משתמשת ב-Viewer.DoconutLicense(Stream licenseStream) overload כדי להוסיף רישייה באמצעות זרם.
using (var licenseStream = new FileStream("path/to/your/license", FileMode.Open))
{
Viewer.DoconutLicense(licenseStream);
}הוספת רישייה באמצעות מסמך XML
שיטה זו משתמשת ב-Viewer.DoconutLicense(XMLDocument licence) overload כדי להוסיף רישייה באמצעות מסמך 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);הוספת רישיית פלאגין באמצעות Stream
שיטה זו משתמשת ב-Viewer.SetLicensePlugin(Stream pluginLicence) overload כדי להוסיף רישיית פלאגין באמצעות זרם.
using (var pluginLicenseStream = new FileStream("path/to/your/plugin-license.lic", FileMode.Open))
{
Viewer.SetLicensePlugin(pluginLicenseStream);
}הוספת רישיית פלאגין באמצעות מסמך XML
שיטה זו משתמשת ב-Viewer.SetLicensePlugin(XMLDocument xmlPluginLicence) overload כדי להוסיף רישיית פלאגין באמצעות מסמך 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. כך מבטיח שהתוכן הממוקם כגון תאריכים, מטבעות ומספרים יוצג בדיוק כפי שמופיע ב-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)הורדת קבצי CSS ו‑JS נדרשים
כדי לוודא ש‑Doconut פועל כראוי, עליך לכלול קבצי CSS ו‑JS ספציפיים בפרויקט שלך. ניתן להוריד קובץ ZIP המכיל את כל הקבצים הדרושים באמצעות הקישור למטה: