התקנה ב-.NET Standard / Core

קובץ 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
<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 עם זיהוי רישיות אוטומטי, השתמש בשורה הבאה:

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);

הוספת רישייה באמצעות Stream

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

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

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

שיטה זו משתמשת ב-Viewer.DoconutLicense(XMLDocument licence) overload כדי להוסיף רישייה באמצעות מסמך 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);

הוספת רישיית פלאגין באמצעות Stream

שיטה זו משתמשת ב-Viewer.SetLicensePlugin(Stream pluginLicence) overload כדי להוסיף רישיית פלאגין באמצעות זרם.

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

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

שיטה זו משתמשת ב-Viewer.SetLicensePlugin(XMLDocument xmlPluginLicence) overload כדי להוסיף רישיית פלאגין באמצעות מסמך 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. כך מבטיח שהתוכן הממוקם כגון תאריכים, מטבעות ומספרים יוצג בדיוק כפי שמופיע ב-Microsoft Word. הדבר שימושי במיוחד לשפות עם דרישות פורמט ייחודיות.

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