הגדרה ב-.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 של אובייקט הצופה, ומעבירה את הנתיב של קובץ המסמך הממוקם בשרת ואת האובייקטים PdfConfig ו‑DocOptions שהוגדרו מראש כפרמטרים.
var token = docViewer.OpenDocument(pathToFile, config, documentOptions);הוסף את הצופה ב‑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);הוסף רישיון ברירת מחדל ידני
אתם יכולים לציין ידנית את הנתיב לקובץ רישיון ברירת מחדל יחיד בעת אתחול הצופה.
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)