הגדרה ב-.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);

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

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)