יהיה לך מציג מסמכים מאוחסן‑עצמי, מהיר ברק, הפועל בתוך יישום .NET שלך
בסוף המדריך תוכל לפתוח קבצי PDF, קבצי Office, שרטוטי CAD ועשרות פורמטים נוספים ישירות בדפדפן, עם זמני טעינה מתחת לשנייה, ללא קריאות לשירותי SaaS חיצוניים, ובשליטה מלאה על האבטחה.
דרישות מוקדמות
| מה שאתה צריך | למה זה חשוב |
|---|---|
| .NET 6 או גרסה מאוחרת יותר (ה‑SDK תומך ב‑.NET 6+) | מבטיח תאימות עם SDK של Online Document Viewer |
| שרת Windows או Linux שבו ניתן להריץ את היישום שלך (ב‑premise או ענן פרטי) | אחסון עצמי דורש שהמציג יפעל בתוך התשתית שלך |
| גישה למאגר NuGet של Online Document Viewer (https://doconut.com) | ה‑SDK מופץ כחבילת NuGet |
| ידע בסיסי ב‑ASP.NET Core וב‑JavaScript בצד הלקוח | תחשוף נקודת קצה שמחזירה URL חתום ולאחר מכן תפעיל את המציג מהדפדפן |
| מיקום אחסון לקבצים המקוריים (מערכת קבצים, Blob storage, וכו') | המציג מציג קבצים ממסלול מקומי או רשת; המקור חייב להיות נגיש לתהליך השרת |
חוסר באחד מהפריטים האלו יגרום לבנייה לעצור לפני שהשורה הראשונה של הקוד רצה.
התקן את SDK של Online Document Viewer
פתח את הפתרון שלך ב‑Visual Studio או ב‑IDE המועדף והוסף את ה‑SDK הרשמי דרך מנהל ה‑NuGet:
dotnet add package Doconut.NET8
החבילה מכילה את מנוע הרינדור, ממירי פורמטים ושכבת HTTP דקה שמשרתת את העמודים שנוצרו. מכיוון שה‑SDK מקומפל לתוך היישום שלך, אין שירות חיצוני שמקבל קריאה בזמן ריצה.
לאחר שחזרת החבילה, רשום את שירותי ה‑SDK ב‑Program.cs (או ב‑Startup.cs לתבניות ישנות). הרישום מכניס את צינור הרינדור למיכל ה‑DI של ASP.NET Core, ומאפשר גישה אליו מהבקרים שלך.
הגדר את צינור הרינדור לפורמטים הנדרשים
המציג תומך ביותר מ‑50 פורמטים כבר מתוך הקופסה, כולל:
- PDF, DOC, DOCX, ODT, RTF
- XLS, XLSX, CSV, ODS
- PPT, PPTX, ODP
- DWG, DXF, DGN (CAD)
- PSD, SVG, TIFF, WEBP, ICO
- EML, MSG, EPUB, MOBI, MPP, VSD
כאשר מתקבלת בקשה, ה‑SDK קובע את סוג הקובץ ובוחר בממיר המתאים. לקבלת ביצועים מיטביים, אפשר את שכבת המטמון המובנית שמאחסנת את העמוד המורנדר בזיכרון למשך הבקשה; זה מה שמספק את חוויית "מהירות ברק – רינדור מסמכים מיידי עם ביצועים משופרים וטעינה מתחת לשנייה".
בבקר שלך, קרא לשיטת הרינדור של ה‑SDK (למשל RenderAsync) והעבר את הנתיב המוחלט של הקובץ המקורי. השיטה מחזירה קטע HTML שמכיל מציג מבוסס קנבס. מכיוון שהרינדור מתבצע בשרת, הלקוח מקבל רק סימון מוכן להצגה, מה שמבטל עיבוד כבד בצד הלקוח.
אבטח את המציג עם כתובות URL מבוססות טוקן והגבלות אופציונליות
ריבונות נתונים ועמידה ב‑GDPR הם חששות נפוצים בפריסות on‑premise. ה‑SDK משולב עם מערכת האימות של ASP.NET Core, ומאפשר ליצור טוקן חתום שמעניק גישה חד‑פעמית למסמך ספציפי.
תהליך טיפוסי:
- הצד הקדמי מבקש מה‑API שלך טוקן תצוגה מקדימה, ומספק את מזהה המסמך.
- ה‑API שלך מאמת את ההרשאות של המשתמש, יוצר טוקן בסגנון JWT שמקודד את נתיב הקובץ ואת חותמת הזמן של הפקיעה, ומחזיר את הטוקן.
- הצד הקדמי מוסיף את הטוקן ל‑URL של המציג (למשל,
/viewer?token=…). ה‑SDK מאמת את הטוקן בכל בקשה ודוחה כל טוקן משונה או פג תוקף.
אם אתה צריך למנוע ממשתמשים להוריד או להדפיס את המסמך, הגדר את אפשרויות הרינדור שמספק ה‑SDK כדי לבטל את הפעולות הללו. שכבת ה‑JavaScript של המציג תסתיר את כפתור ההורדה, תדכא את קיצור המקלדת להדפסה, ותחסום את תפריט ההקשר של הלחיצה הימנית.
אמת שכל הפונקציות עובדות
- נווט לעמוד שמארח את המציג.
- המסמך צריך להופיע בתוך שנייה, עם פסי גלילה, פקדי זום ותיבת חיפוש.
- אם הגדרת את המציג לבטל הורדה, כפתור "Download" צריך להיות מוסתר.
- לחיצה ימנית על המסמך לא תפתח את תפריט ההקשר של הדפדפן כאשר ההגבלה מופעלת.
- לאחר שהטוקן פג (ברירת המחדל היא 5 דקות), רענון העמוד צריך להחזיר שגיאת "401 Unauthorized", המאשרת שהאימות של הטוקן פעיל.
אם אחד מהבדיקות נכשל, חזור על הצעד המתאים: רישום SDK חסר, יצירת טוקן שגויה, או דגלי אבטחה שלא נכללו.
