خلاصه ماجرا
Scissor PDF هرگز فایلهای شما را دریافت نمیکند. وقتی ابزاری را باز میکنید، مرورگرتان وبسایت و یک موتور PDF را دانلود میکند. وقتی فایلی انتخاب میکنید، در حافظه زبانه مرورگرتان خوانده میشود، با همان موتور روی پردازنده خودتان پردازش میشود و نتیجه به صورت دانلود به شما تحویل داده میشود. با بستن زبانه همه چیز پاک میشود.
چه چیزی کجا اجرا میشود
موتور PDF که PDFها را ادغام، تقسیم، مرتب، چرخش، فشرده سازی، شمارهگذاری، واترمارک، رمزگذاری و رمزگشایی میکند، با Rust و با استفاده از کتابخانه متنباز lopdf نوشته و به WebAssembly کامپایل شده است. WebAssembly یک قالب ایزوله (سندباکس) است که همه مرورگرهای امروزی با سرعتی نزدیک به برنامههای نصبی اجرا میکنند. این موتور در یک worker پسزمینه اجرا میشود تا صفحه روان بماند.
پیشنمایش صفحات و تبدیل PDF به JPG از PDF.js استفاده میکنند؛ موتور رندر متنباز تعبیه شده در Firefox که آن هم به صورت محلی اجرا میشود.
سرور یک میزبان ساده فایلهای ایستا است. هیچ نقطه آپلود، پایگاه داده یا کد برنامهای ندارد، پس چیزی وجود ندارد که بتواند سندی را دریافت کند.
خودتان بررسی کنید
ابزارهای توسعهدهنده مرورگرتان را باز کنید، به زبانه Network بروید و از هر ابزاری استفاده کنید. میبینید که فایلهای خود صفحه بارگذاری میشوند و هیچ درخواستی سند شما را حمل نمیکند. همچنین میتوانید پس از بارگذاری صفحه اینترنت را قطع کنید: همه ابزارها همچنان کار میکنند.
سایت همچنین یک سیاست امنیت محتوای (Content Security Policy) سختگیرانه میفرستد که به مرورگرتان میگوید جلوی ارتباط صفحه با هر سرور دیگری را بگیرد؛ پس حتی یک اشتباه در کد ما هم نمیتواند فایلهایتان را به جای دیگری بفرستد.
کار آفلاین، نصب مثل یک برنامه
پس از اولین بازدید، یک service worker سایت و موتور را در حافظه پنهان مرورگرتان ذخیره میکند تا ابزارها بدون اینترنت باز شوند و کار کنند. در Chrome یا Edge، گزینه Install را از نوار آدرس انتخاب کنید. در Safari، گزینه Add to Dock (مک) یا Add to Home Screen (آیفون و آیپد) را انتخاب کنید.
محدودیتهای پردازش محلی
چون کار روی دستگاه شما انجام میشود، فایلهای بسیار بزرگ به حافظه آن محدودند. چند صد مگابایت روی یک لپتاپ معمولی مشکلی ندارد و گوشیها هم از پس اسناد روزمره برمیآیند. سرعت به پردازنده شما بستگی دارد نه به صف یک سرور، که در عمل معمولاً از آپلود و دانلود سریعتر است.