\compare{vs-weasyprint}
يحوّل WeasyPrint ملفات HTML إلى PDF. ويحوّل FormaTeX ملفات LaTeX إلى PDF، برياضيات بجودة TeX وتخطيط دقيق للصفحات وREST API يستدعيها خادمك مباشرة.
WeasyPrint مكتبة Python مفتوحة المصدر تحوّل HTML وCSS إلى PDF. وهي ممتازة لإنشاء تقارير منسّقة من قوالب الويب، كالفواتير والإيصالات أو أي مستند تكتبه أصلًا بـ HTML. وتتمثل قوتها في أن المصممين المعتادين على CSS يستطيعون إنتاج ملفات PDF دون تعلّم لغة ترميز جديدة.
تظهر قيودها سريعًا عندما تتطلب المستندات رياضيات بجودة النشر أو مراجع متقاطعة معقدة أو نموذج العناصر العائمة الدقيق الذي صقلته TeX على مدى 40 عامًا.
FormaTeX واجهة لتجميع LaTeX ومحرر متصفح مبني للمطورين. ترسل طلب POST مع مصدر .tex وتستلم ملف PDF، دون تثبيت TeX Live ودون حاوية لصيانتها ودون إدارة نظام ملفات.
يدعم جميع محركات LaTeX الأربعة (pdflatex وxelatex وlualatex وlatexmk) وWebhooks ومساعد ذكاء اصطناعي وخادم MCP لوكلاء الذكاء الاصطناعي.
\section{مقارنة الميزات}
تفصيل ميزة بميزة يساعدك على اختيار الأداة المناسبة لخط معالجة مستنداتك.
| الميزة | FormaTeX | WeasyPrint |
|---|---|---|
| دعم الرياضيات | نعم | محدود (MathML فقط) |
| التحكم في التخطيط | نموذج صفحات TeX الكامل | نموذج الصندوق في CSS |
| جودة المخرجات | نعم | جيدة لمستندات HTML |
| صيغة المصدر | LaTeX (.tex) | HTML + CSS |
| REST API | نعم | لا |
| ملائم للحوسبة بلا خوادم | نعم | اعتماديات تنفيذية ثقيلة |
| العناصر العائمة والمراجع المتقاطعة | نعم | لا |
| جداول بخطوط فاصلة | نعم | CSS فقط |
\section{دليل القرار}
استخدم FormaTeX عندما…
استخدم WeasyPrint عندما…
\section{المستندات التقنية}
يعتمد WeasyPrint على MathML الذي يعاني تفاوتًا في التوافق بين المتصفحات ولا يملك نموذجًا دلاليًا لـ TeX. أما FormaTeX فيستخدم محرك TeX نفسه الذي تثق به المجلات والكتب الدراسية منذ عقود.
لم يُصمَّم نموذج الصفحات في CSS لمستندات الطباعة متعددة الصفحات. أما خوارزمية الصناديق والغراء في TeX فتنتج ترقيمًا متسقًا ويمكن التنبؤ به دون تعديلات يدوية.
WeasyPrint مكتبة Python، وعليك تشغيل خادم بنفسك لاستدعائها من Node أو Go أو Ruby. أما FormaTeX فهو REST API، لذا يعمل معه أي عميل HTTP مباشرة.
\end{vs-weasyprint}
سجّل مجانًا دون بطاقة ائتمان. استدعِ API في دقائق من Python أو Node.js أو أي عميل HTTP.