تصاویر صفحه صفحهبندیشده
هر صفحه بهصورت رستر در سمت سرور پردازش میشود و بر حسب نیاز تحویل داده میشود. اسناد بزرگ در صفحه اول باز میشوند نه پس از دانلود کامل فایل.
نمایشگر 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 ارائه میشود و بهطور عمومی در دسترس نیست — موتور در حال بازنویسی است، پس امروز برنامهریزی برای آن نکنید.
صفحات بهصورت تقاضا رندر و تحویل میشوند نه همه بهیکباره، بنابراین طول سند تأثیر کمتری بر حافظه دارد نسبت به پیچیدگی صفحه. صفحات برداری بسیار سنگین عامل هزینه واقعی هستند، نه تعداد صفحات.
یک مجوز موقت چند دقیقه زمان میبرد تا درخواست شود و بهصورت کامل بر روی دستگاه شما اجرا میشود. فایلهایی که مهم هستند، همان فایلهایی هستند که در حال حاضر نمایشگر فعلی شما را خراب میکنند.