מדריך שלב‑אחר‑שלב: מפתחים משבצים מציג מסמכים מאובטח ללא תוספים באפליקציות ASP.NET Core, MVC, או WebForms
24.7.2026

מדריך שלב‑אחר‑שלב: מפתחים משבצים מציג מסמכים מאובטח ללא תוספים באפליקציות ASP.NET Core, MVC, או WebForms

איך לשבץ את Doconut Viewer SDK ב‑ASP.NET Core, MVC או WebForms: 75 פורמטים של קבצים, המרת DOC ל‑PDF, והיכן האבטחה באמת נובעת.

רבים מהמפתחים מתחילים בחיפוש אחר ספריות רכיבי UI כאשר הם צריכים להציג מסמכים באפליקציית אינטרנט. Doconut Viewer הוא SDK של .NET להוספת צפייה בדפדפן ללא תוספים ל‑ASP.NET Core, MVC, או פרויקטים קלאסיים של WebForms. האבטחה עדיין תלויה בארכיטקטורה המלאה של האפליקציה: אימות, הרשאה, העברה, אחסון, אימות, ניקוי, תיקונים וניטור.

מציג מסמכי ASP.NET מאובטח מוגן על ידי בקרות אפליקציה משולבות
מציג מסמכי ASP.NET מאובטח מוגן על ידי בקרות אפליקציה משולבות

1. התקנת ה‑Doconut App SDK והכנת פרויקט .NET שלך לתמיכה בפורמטים מרובים של קבצים

1.1 הוספת החבילה הנתמכת

השתמשו בחבילה העדכנית ובהוראות ההתקנה מהדף הרשמי של דף ההורדה של Doconut. רשמו את הגרסה שנבחרה וודאו שהיא תומכת בזמן הריצה של .NET היעד.

1.2 אימות הפנייה לחבילה

לאחר ההתקנה, אשרו את הפנייה לחבילה ואת הגרסה שנפתרה בקובץ הפרויקט. שמירת גרסאות מפורשות מסייעת להפוך בניות ופריסות לחוזרות.

1.3 הפעלת HTTPS

הגישו את האפליקציה דרך HTTPS כדי שהמסמכים שהועלו לא יעברו בטקסט גלוי ברשת שלכם. עבור אפליקציה המתארחת ב‑Kestrel, הוסיפו תצורת נקודת קצה ב‑appsettings.json:

 {
   "Kestrel": {
     "Endpoints": {
       "Https": {
         "Url": "
       }
     }
   }
 }

אם אתם מארחים ב‑IIS, קשורו תעודת HTTPS לאתר. עם HTTPS מופעל, הקובץ נעוץ בערוץ מאובטח בדרכו לשרת שלכם, שם ה‑SDK מציג אותו.

מאין נובעת האבטחה. ה‑SDK פועל בתוך האפליקציה שלכם, על התשתית שלכם: הוא אינו מבצע קריאות לשרתים של Doconut, ולכן המסמכים לעולם אינם עוזבים את הרשת שלכם. זו תכונה שכדאי לתכנן סביבה. זה אינו תעודת ציות — ה‑SDK אינו כולל אישור ISO 27001, SOC 2 או HIPAA משלו, והוא אינו יכול להעניק אחד לאפליקציה שלכם. מה שהוא עושה הוא לשמור את הקובץ בתוך גבול שאתם כבר שולטים בו וכבר מבצעים עליו ביקורת.


2. הגדרת העלאות קבצים מאובטחות ואחסון לניהול מסמכים

זהו החלק שלכם ולא של ה‑SDK, וכדאי לומר זאת בפשטות: אבטחת ההעברה, הצפנה במנוחה, שמירת נתונים וניקוי הם החלטות שהאפליקציה שלכם מקבלת. ה‑SDK מציג מסמכים; הוא אינו שכבת אחסון והוא אינו מצפין את הכונן שלכם.

2.1 רישום השירותים

ב‑Startup.cs (או Program.cs ב‑.NET מודרני), רשמו את שירותי Doconut במיכל ההזרקה בהתאם לתיעוד לגרסה שהתקנתם. כאשר ה‑SDK זקוק לתיקייה עובדת לפלט רינדור זמני, הפנו אותה למיקום שאתם שולטים בו, והפכו את ניקוי התיקייה לאחריותכם — משימה מתוזמנת או חיי שירות מנוהלים על‑ידי האפליקציה, ולא הנחה.

2.2 יצירת נקודת קצה להעלאה

ממשו פעולה בבקר שמקבלת קובץ שהועלה, כותבת אותו לאחסון שבו האפליקציה שלכם כבר משתמשת, ומחזירה אסימון חד‑פעמי קצר. האסימון הוא מה שהמציג בצד הלקוח ישתמש בו כדי לאחזר ולרנדר את המסמך. שימו לב שהאחסון הוא שלכם: אתם מעבירים ל‑SDK את הבייטים או את הנתיב כאשר הגיע זמן הרינדור, והוא מחזיר לכם את העמודים.

2.3 הגנת נקודת הקצה

מאחר שנקודת הקצה להעלאה מטפלת בנתונים רגישים, הגנו עליה באמצעות אימות והרשאה מבוססת תפקידים (לדוגמה, רק משתמשים בתפקיד DocumentViewer יכולים להעלות). אמתו את הסיומת ואת הגודל בצד השרת וכן בדפדפן, והתייחסו לבייטים שהועלו כקלט בלתי מהימן.

אל תדלגו על זה מתוך ההנחה שה‑SDK מכסה זאת. הצפנה במנוחה, ניהול מפתחות וניקוי קבצים יתומים הם משימות של האפליקציה שלכם. אם אתם זקוקים למסמכים מוצפנים על הדיסק, השתמשו במתקנים של הפלטפורמה שכבר סומכים עליהם — המציג אינו המקום המתאים לכך.

3. הטמעת רכיב המציג ב‑ASP.NET Core, MVC, או WebForms

עם הגיבוי מוכן, אתחול המציג נעשה באמצעות המשאבים וה‑API המתועדים לגרסת ה‑Doconut המותקנת.

3.1 הוספת חבילת JavaScript

ב‑פריסת המשותפת שלך, כלול רק את משאבי המציג המתוארים בתיעוד המתאים לגרסת ה‑SDK המותקנת. אל תניח שמות חבילות קבועים או מיקומים קבועים בין גרסאות.

3.2 יצירת תצוגה (Razor) עבור Core/MVC

הוסף תצוגה (למשל Views/Document/View.cshtml) שמכילה קלט קובץ, אלמנט מכולה עבור המציג, וסקריפט קטן שמעלה את הקובץ שנבחר, מקבל את האסימון המאובטח, ומאתחל את ווידג׳ט ה‑Doconut Viewer.

הסקריפט צריך:

  1. לתפוס את הקובץ שנבחר מה‑<input type="file"> אלמנט.
  2. לשלוח את הקובץ לנקודת הקצה של ההעלאה באמצעות fetch או XMLHttpRequest.
  3. כאשר מתקבלת התשובה המורשית, לאתחל את המציג באמצעות ה‑API הנתמך לגרסה המותקנת.

3.3 מקביל ל‑WebForms

ב‑דף WebForms (למשל DocumentViewer.aspx), הצב פקד asp:FileUpload, כפתור להפעלת ההעלאה, ו‑<div> שיארח את המציג. בקוד‑מאחורי, קרא לשירות ה‑Doconut כדי לאחסן את הקובץ שהועלה, לקבל את האסימון, ולרשום סקריפט אתחול שמקרא לפונקציית JavaScript (initViewer(token)) ליצירת מופע המציג.

הסיבה לעשות זאת כך: נתיב רינדור יחיד המשרת שלושה מודלים של UI ב‑.NET, ללא צורך בהתקנה על מחשב הקצה של המשתמש.


4. התאמת המציג לניהול מסמכים

המציג מציג עצמו בתוך מכולה בדף שלך, ולכן האפליקציה הסובבת כבר שלך. בנוסף, קח את שמות האפשרויות והערכים ברירת‑המחדל מהתיעוד של הגרסה שהתקנת ולא משיעורים חיצוניים, כולל זה – משטח ההגדרות משתנה בין גרסאות ושם אפשרות קבוע בקוד הוא מה שסביר ביותר לשבור בעדכון.

הדברים שכדאי להחליט מראש:

4.1 אילו פקדים המשתמש מקבל

החליט האם המשתמשים שלך צריכים להיות מסוגלים להוריד את הקובץ המקורי, או רק לקרוא את העמודים המוצגים. הדפסה מבוקרת היא חלק מהמציג ולא רכישה נפרדת, ולכן כללי ההדפסה הם שאלה של תצורה, לא של רישיון.

4.2 אילו תוספים באמת נדרשים

ארבעה תוספים מורשים בנפרד, והרשימה קצרה מספיק כדי לזכור: Annotation, Converter, DICOM ו‑Search. ההמרה – DOC ל‑PDF והשאר – היא תוסף ה‑Converter. חיפוש טקסט הוא תוסף ה‑Search. אם אינך צריך אף אחד מהם, אין צורך לרכוש אותם.

4.3 לוקליזציה

אם האפליקציה שלך רב‑לשונית, בדוק מה הגרסה המותקנת מציעה עבור מחרוזות UI של המציג לפני שאתה מתכנן סביבן.

מדוע זה חשוב: המציג צריך להיראות כחלק מהמוצר שלך. מה שלא צריך לעשות הוא להבטיח למשתמשים יכולות שהרישיון שרכשת אינו כולל.


5. בדיקת האינטגרציה לכל הפורמטים הנתמכים

לפני העלייה לאוויר, בצע בדיקת בריאות מהירה לכל סוג קובץ שאתה מצפה שהמשתמשים שלך יצפו בו. באמצעות המציג של אפליקציית Doconut, פתח קובץ לדוגמה מכל פורמט וודא שהרינדור, הניווט וכלים מיוחדים פועלים כמתואר.

פורמטתרחיש בדיקהתוצאה צפויה
PDFדוח גדול מרובה‑עמודים עם תמונות משובצותגלילה חלקה, זום, ורינדור צבע מדויק
DOCXמסמך Word עם טבלאות והערות שולייםכל הטקסט, הטבלאות וההערות נראים; אין שינוי פריסה
XLSXגיליון עם גרפיםגרפים מוצגים כגרפיקה וקטורית; זום שומר על חדות
PPTXמצגת עם בניות מונפשותכל בנייה במצגת מוצגת ערומה בפריים אחד – זה מצופה, לא תקלה
DWGשרטוט טכני עם שכבות וקישורים חיצונייםניתן להדליק/לכבות שכבות, מדידת מרחק ושטח עובדת; xrefs וגופני SHX חסרים כי לא היו בקובץ
PSDקובץ Photoshop מרובה שכבותהרכבה השמורה מוצגת, שכבות מוסתרות נשארות מוסתרות; צבעים נשמרים בזום
SVGגרפיקה וקטורית עם גרדיאנטיםגרדיאנטים מוצגים חלק; זום נשאר חד
TIFFסריקה ברזולוציה גבוהההתמונה נטענת במהירות; זום מגלה פרטים

בצע את הבדיקה עם הקבצים האמיתיים של המשתמשים, לא עם דוגמאות נקיות. הפורמטים שמפתיעים אנשים הם אלו שבהם המוזרות נובעות מהפורמט עצמו – DWG שמפנה לארבעה שרטוטים אחרים, גיליון שערכו השמור מעולם לא חושב מחדש, מצגת שבה הגופנים לא הוטמעו. המציג החינמי ב‑המציג משתמש באותו מנוע, ולכן הוא דרך מהירה לראות איך קובץ מסובך יוצא לפני כתיבת קוד.

סיכום

הטמעת מציג מסמכים ללא תוספים מצריכה ארבעה דברים: התקנת ה‑SDK, אבטחת נתיב ההעלאה שלך, רינדור לתוך מכולה בעמוד שלך, והגדרת רק את מה שהגרסה המותקנת מתעדת. התרומה של המציג לאבטחה היא מצומצמת ומוחשית — הוא פועל בשרתים שלך ולא שולח דבר החוצה. כל השאר ברשימה הוא של היישום שלך, ואין SDK שיכול לקחת זאת עליך.

מוכן להעריך זאת? התחל עם דף ההורדה והתיעוד הרשמי של Doconut, ואז בדוק את ה‑SDK במסגרת אותה סקירת אבטחה המיושמת על שאר היישום שלך מבוסס Windows ב‑ASP.NET.