הגדרה ב-.NET 6 ומעלה

קובץ Startup.cs

בתוך קובץ Startup.cs של פרויקט .NET Core, הקווים אלה של קוד מגדירים תצורת צינור משודרג (middleware) באמצעות השיטה MapWhen. הפונקציה המועברת בודקת אם נתיב הבקשה הנכנסת מסתיים ב-DocImage.axd. בתוך בלוק זה, מתבצעת קריאה לשיטה UseDoconut עם אובייקט DoconutOptions כפרמטר.

Startup.cs
app.MapWhen(
    context => context.Request.Path.ToString().EndsWith("DocImage.axd"),
    appBranch =>
    {
        appBranch.UseDoconut(new DoconutOptions { UnSafeMode = false, ShowDoconutInfo = false });
    }
);

הוספת מרחבי שמות של Doconut

בפרויקט שלך, הוסף את הצהרות using הבאות:

Usings
using Doconut;
using Doconut.Configs;
using Doconut.Formats;
using Doconut.Clouds;

יצירת מופע של אובייקט Viewer

שורה זו יוצרת מופע חדש של המחלקה Viewer, המאפשרת לך ליצור אובייקט viewer בקוד שלך.

Instantiation
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);

הגדרת אובייקט DocOptions

דוגמה לאתחול אובייקט DocOptions עם תצורות ספציפיות:

DocOptions
var documentOptions = new DocOptions
{
    Password = "",
    ImageResolution = 200,
    TimeOut = 30
};

הגדרת אובייקט config

אתחל אובייקט PdfConfig חדש עם תצורות ספציפיות לטיפול בקבצי PDF:

PdfConfig
var config = new PdfConfig { DefaultRender = true, ExtractHyperlinks = true };

פתיחת המסמך שלך

שורה זו קוראת לשיטה OpenDocument של אובייקט ה-viewer, ומעבירה את הנתיב לקובץ המסמך הממוקם בשרת ואת האובייקטים PdfConfig ו-DocOptions שהוגדרו בעבר כפרמטרים.

OpenDocument
var token = docViewer.OpenDocument(pathToFile, config, documentOptions);

הוספת ה-viewer ב-HTML שלך

HTML
<div id="div_ctlDoc"></div>

הוספת קבצי CSS ו-JavaScript

הוסף את קבצי ה-CSS וה-JavaScript הבאים בעמוד. סקריפטים אלו כלולים בקובץ ה-ZIP עם דוגמאות קוד.

HTML Headers
<!-- 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 עם זיהוי רשיונות אוטומטי, השתמש בשורה הבאה:

C#
var docViewer = new Viewer(_cache, _accessor);

הוספת רישיון ברירת מחדל ידני

אתה יכול לציין ידנית את הנתיב לקובץ רישיון ברירת מחדל יחיד כאשר אתה מאתחל את ה-viewer.

C#
var licenseFilePath = Path.Combine(_hostingEnvironment.WebRootPath, "path/to/your/license");
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);

הוספת רישיון באמצעות זרם

שיטה זו משתמשת ב-Viewer.DoconutLicense(Stream licenseStream) כדי להוסיף רישיון באמצעות זרם.

C#
using (var licenseStream = new FileStream("path/to/your/license", FileMode.Open))
{
    Viewer.DoconutLicense(licenseStream);
}

הוספת רישיון באמצעות מסמך XML

שיטה זו משתמשת ב-Viewer.DoconutLicense(XMLDocument licence) כדי להוסיף רישיון באמצעות מסמך XML.

C#
var xmlDoc = new XmlDocument();
xmlDoc.Load("path/to/your/license.xml");
Viewer.DoconutLicense(xmlDoc);

רישיונות תוסף מרובים ברירת מחדל ידנית

אם אתה צריך לציין רישיונות מרובים, אתה יכול לספק רשימת נתיבי קבצים לאתחול ה-viewer.

C#
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) כדי להוסיף רישיון תוסף באמצעות זרם.

C#
using (var pluginLicenseStream = new FileStream("path/to/your/plugin-license.lic", FileMode.Open))
{
    Viewer.SetLicensePlugin(pluginLicenseStream);
}

הוספת רישיון תוסף באמצעות מסמך XML

שיטה זו משתמשת ב-Viewer.SetLicensePlugin(XMLDocument xmlPluginLicence) כדי להוסיף רישיון תוסף באמצעות מסמך XML.

C#
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 להצגה.

C#
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. הוסף וצייר את האנוטציה כדי לרנדר אותה על המסמך.

JavaScript
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 המתבססים על גופנים שאינם מותקנים בתיקיות הגופנים המוגדרות כברירת מחדל של המערכת.

Usage
var config = new WordConfig
{
    FontFolders = new string[] { "C:\\CustomFonts", "D:\\SharedFonts" }
};

עדכון חשוב עבור Doconut 25.2.0

חשוב לעדכן את חבילת System.Text.Json לגרסה 8.0.5 בכל הפרויקטים שלך. עדכון זה קריטי כדי להבטיח תאימות לתכונות החדשות ולפתור שיפורי אבטחה חשובים.

קידוד אימייל

המאפיין EmailEncoding במחלקת EmailConfig מציין את הקידוד המועדף עבור נושא האימייל והגוף שלו.

Usage
var emailConfig = new EmailConfig {
    EmailEncoding = Encoding.UTF8 // Set preferred email encoding
};

קידוד נושא וגוף

המאפיינים SubjectEncoding ו-BodyEncoding במחלקת EmailConfig מגדירים את הקידוד המשמש עבור נושא האימייל והגוף, בהתאמה.

Usage
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. זה מבטיח שהקונספט המקומי – כגון תאריכים, מטבעות ומספרים – יוצג בדיוק כפי שהוא במייקרוסופט וורד. זה במיוחד שימושי לשפות עם דרישות פורמט מיוחדות.

Usage
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 המכיל את כל הקבצים הדרושים באמצעות הקישור שלמטה: