הגדרה ב-.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
};הגדרת אובייקט תצורה
אתחול אובייקט 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 בכל הפרויקטים שלך. עדכון זה קריטי כדי להבטיח תאימות לתכונות החדשות ביותר ולטפל בשיפורי אבטחה חשובים.
קידוד דוא"ל
המאפיין 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
המאפיין 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)