\compare{vs-puppeteer}
يشغّل Puppeteer متصفح Chromium بحجم 300 ميغابايت لطباعة صفحة. أما FormaTeX فيجمّع LaTeX عبر محرك TeX مخصص: أخف وأسرع ومصمم خصيصًا للمستندات المنضّدة.
Puppeteer مكتبة Node.js تتحكم في متصفح Chromium بلا واجهة. تأمر طريقتها page.pdf() متصفح Chromium بطباعة الصفحة الحالية إلى ملف PDF، وهو المسار نفسه عند الضغط على Ctrl+P في المتصفح.
وهي خيار طبيعي عندما يكون محتواك موجودًا أصلًا في HTML، كلوحات المعلومات أو الإيصالات أو التقارير المعروضة على الويب. لكن المقابل كبير: ملف Chromium تنفيذي، وأزمنة بدء بارد طويلة، وسلوك عرض مرتبط بنموذج أنماط الطباعة في Chrome.
FormaTeX واجهة لتجميع LaTeX. ترسل طلب POST مع مصدر .tex وتستلم ملف PDF منضّدًا في ثوانٍ. دون متصفح ودون Chromium ودون حاوية لإدارتها.
يدعم pdflatex وxelatex وlualatex وlatexmk. وتعني البنية المُدارة أنك تدفع مقابل عمليات التجميع فقط، لا مقابل موارد حوسبة خاملة تنتظر الطلب التالي.
\section{مقارنة الميزات}
تفصيل عملي عبر الأبعاد الأهم في خطوط إنشاء PDF للإنتاج.
| الميزة | FormaTeX | Puppeteer PDF |
|---|---|---|
| استهلاك الموارد | عملية TeX خفيفة | Chromium كامل (~300 ميغابايت) |
| عرض الرياضيات | نعم | يتطلب MathJax / KaTeX |
| دقة الطباعة | دقة TeX | تحويل من الشاشة إلى الطباعة |
| الحوسبة بلا خوادم / حافة CDN | نعم | محدودة (البدء البارد لـ Chromium) |
| REST API | نعم | لا |
| بنية مُدارة | نعم | لا |
| الجداول المعقدة والعناصر العائمة | نعم | CSS فقط |
| التقاط لقطات شاشة | لا | نعم |
\section{دليل القرار}
اختر FormaTeX عندما…
اختر Puppeteer عندما…
الواقع التشغيلي
حجم Chromium نحو 300 ميغابايت
كل دالة Lambda أو حاوية تشغّل Puppeteer يجب أن تضمّن ملف Chromium تنفيذيًا كاملًا أو تنزّله. يزيد ذلك زمن البدء البارد وأحجام الصور، وهو قيد حقيقي على منصات الحوسبة بلا خوادم.
CSS الطباعة في Chrome غير متوقع
قد يتغير عرض أنماط الطباعة في Chromium بين الإصدارات. والمستندات التي تُعرض اليوم بشكل مثالي قد تُرقَّم صفحاتها بشكل مختلف بعد تحديث Chrome. أما مخرجات TeX فحتمية.
أنت من يصون الخادم
استخدام Puppeteer كواجهة API يعني أنك تشغّل الخادم وتحدّث Chromium وتتعامل مع طوابير الطلبات المتزامنة. أما FormaTeX فيتولى كل ذلك عنك.
\end{vs-puppeteer}
سجّل مجانًا دون بطاقة ائتمان. استدعاء API واحد، وأي لغة، ومخرجات بجودة TeX.