הגדרה ב-.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 הבאות:

הוסף מרחבי שמות Doconut
using Doconut;
using Doconut.Configs;
using Doconut.Formats;
using Doconut.Clouds;

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

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

צור מופע של אובייקט Viewer
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 עם דוגמאות קוד.

הוסף קבצי CSS ו-JavaScript
<!-- 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) 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);

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

שיטה זו משתמשת ב-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. הוסף את האנוטציה למנהל וטען אותה במציג המסמך להצגה.

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

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

תמיכת תרבות בתצוגת 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)