הגדרה ב-.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
};הגדרת אובייקט תצורה
אתחל אובייקט 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. הוסף את האנוטציה למנהל וטען אותה בתצוגת המסמך להצגה.
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)