صور صفحات مُرقَّمة
كل صفحة تُرَسَّم من جانب الخادم وتُسلم عند الطلب. تُفتح المستندات الكبيرة في الصفحة الأولى بدلاً من الانتظار حتى يتم تنزيل الملف بالكامل.
يعمل عارض PDF المدمج في المتصفح عن طريق إعطاء المستخدم الملف. بالنسبة لعقد أو سجل طبي أو عرض مغلق، غالبًا ما يكون ذلك بالضبط ما تحاول تجنبه. Doconut يعرض الصفحات من جانب الخادم ويرسل صورًا، لذا فإن المشاهدة والامتلاك لا يصبحان الفعل نفسه.
المشكلة
خدمة الملف وترك المتصفح يعرضه: أبسط طريقة، وتمنح المستخدم البايتات الأصلية، والبيانات الوصفية، والمرفقات المدمجة، والقدرة على إعادة توجيه كل ذلك بنقرة واحدة.
إرسال محرك PDF جافاسكريبت: يبقي الملف في المتصفح أيضًا، يضيف تحميلًا مهمًا إلى حزمة التطبيق، ولا يزال يتطلب منك كتابة شريط الأدوات، وشريط الصور المصغرة، ومربع البحث بنفسك.
العرض من جانب الخادم وإرسال الصور: يرى المستخدم الصفحات، ولا يغادر الملف بنيتك التحتية، وتعمل نفس الآلية مع Word وExcel وCAD والبريد الإلكتروني — وهو عادةً المتطلب الذي يظهر بعد جولتين من التطوير.
القدرات
كل صفحة تُرَسَّم من جانب الخادم وتُسلم عند الطلب. تُفتح المستندات الكبيرة في الصفحة الأولى بدلاً من الانتظار حتى يتم تنزيل الملف بالكامل.
باستخدام ملحق AdvancedSearch، يعمل البحث النصي الكامل على طبقة النص في PDF، لذا تظهر النتائج في الصفحة الصحيحة مع التمييز المناسب.
يأتي شريط الصور المصغرة، والقفز بين الصفحات، والتكبير، وتناسب العرض مع الأداة. اضبط showThumbs وFitType وتابع.
باستخدام ملحق Annotation: تظليل، تعليقات، طوابع وتوقيعات، تُخزن وتُصدّر بواسطة تطبيقك بدلاً من دمجها مرة أخرى في ملف المصدر.
تُفتح ملفات PDF المشفرة من جانب الخادم باستخدام كلمة مرور يزودها الكود الخاص بك. لا تصل كلمة المرور إلى المتصفح.
الطباعة هي قدرة للعارض يمكنك تمكينها أو حجبها، وهو قرار مختلف عن ما إذا كان المستخدم قد يحمّل الأصل.
التكامل
يتلقى العميل الرمز فقط. لا يكتشف أبدًا اسم الملف، أو موقع التخزين، أو أن المستند كان PDF بدلاً من أي شيء آخر في الفهرس.
الامتدادات المدعومة
// Server-side: returns an opaque token, never a path or a URL
app.MapPost("/api/open", async (Viewer viewer) =>
{
string token = await viewer.OpenDocumentAsync("wwwroot/files/Contract.pdf");
return Results.Ok(new { token });
});
// For an encrypted PDF, supply the password server-side —
// it is used to decrypt in your process and goes no further.التفاصيل
فقط إذا قمت بتنفيذ ذلك بنفسك. يُقدم العارض صور الصفحات عبر رمز غير شفاف، لذا يبقى إصدار ملف المصدر قرارًا صريحًا في كودك الخاص بدلاً من أن يكون تأثيرًا جانبيًا للسماح لشخص ما بقراءته.
إنها تُعرض كصور بشكل جيد، لكن لا يوجد شيء للبحث عنه. OCR متاح فقط عبر ملحق AdvancedSearch ولا يتوفر عمومًا — يتم إعادة بناء المحرك، لذا لا تعتمد عليه اليوم.
يتم عرض الصفحات وتسليمها عند الطلب بدلاً من جميعها مرة واحدة، لذا يؤثر طول المستند على الذاكرة أقل بكثير من تعقيد الصفحات. الصفحات المتجهية الثقيلة هي السبب الحقيقي للتكلفة، وليس عدد الصفحات.
رخصة مؤقتة تستغرق بضع دقائق لطلبها وتعمل بالكامل على جهازك الخاص. الملفات المهمة هي تلك التي تُعطِّل عارضك الحالي بالفعل.