الترحيل إلى NextPDF
NextPDF محرك لتنسيق المستندات المحمولة (PDF) 2.0 مخصَّص للغة PHP. إذا كنت تولِّد ملفات PDF بالفعل باستخدام مكتبة أخرى، فإن دليل الترحيل يربط واجهة برمجة التطبيقات (API) الخاصة بتلك المكتبة بـ NextPDF ويوثِّق الاختلافات السلوكية التي ستتعامل معها. يبيِّن هذا الفهرس عبر المستودعات الدليل الذي ينقلك من كل مكتبة، والمستودع المالك لكل دليل، والنموذج المشترك الذي يعتمده كل دليل.
لأن هذه الصفحة فهرس، فهي لا تقدِّم أي ادعاء سلوكي بشأن أي دليل. ينتمي كل دليل إلى مستودعه الخاص، ويَنشُره المُجمِّع في هذا الموقع. يوجد كل ادعاء سلوكي في الدليل نفسه، ويكون مدعومًا باختبار داخل المستودع أو ببند مثبَّت من ISO 32000-2 / مجموعة عمل أوراق الأنماط المتتالية (CSS WG)، وليس هنا.
نموذج الترحيل الموحَّد
قسم بعنوان «نموذج الترحيل الموحَّد»يستخدم كل دليل ترحيل في NextPDF النموذج الصادق نفسه. اقرأ كل دليل مع استحضار هذا النموذج:
- متوافق مع، وليس مطابقًا على مستوى البايت. NextPDF والمكتبة التي تنتقل منها تطبيقان مستقلان. يحافظ المستند المُرحَّل على القصد الوظيفي، لا على التطابق على مستوى البكسل أو البايت. لا يدَّعي أي دليل أنه بديل جاهز للاستبدال المباشر أو أنه متوافق بنسبة 100%.
- التغطية عدد مقيس، وليست تأكيدًا. عندما يذكر دليل رقم تغطية، مثل رقم محوِّل TCPDF، فهذا الرقم مقياس اكتمال وظيفي مستمد من مصفوفة داخل المستودع، بالمعنى الوارد في البند 43 من ISO/IEC 25023. إنه عدد مقيس للدوال المغطاة، وليس ضمانًا شاملًا.
- يذكر كل دليل اختلافاته السلوكية بصراحة. يتضمن كل دليل جدول اختلافات واضحًا وقسمًا بعنوان “غير مدعوم / لا يوجد مكافئ مباشر”. الاختلاف خاصية موثَّقة للمحرك، وليس عيبًا.
- تغيير محرك العرض يتطلب إعادة مراجعة. يغيِّر الترحيل الشيفرة ويتطلب خط أساس جديدًا للمخرجات. يصف كل دليل كيفية اختبار الترحيل؛ أما القبول البصري فيجري لكل مستند على حدة، ويظل مسؤولية القائم بالدمج.
أنماط الترحيل
قسم بعنوان «أنماط الترحيل»تنقسم الأدلة إلى نمطين. يوضح كل نمط مقدار ما سيتغير في الشيفرة.
- عمليات الترحيل بإعادة كتابة API لا تملك طبقة توافق وسيطة: أعد كتابة كل موضع استدعاء باستخدام ربط الأفعال وخريطة الخيارات في الدليل. تستخدم عمليات ترحيل مكتبات لغة ترميز النص التشعبي (HTML) إلى PDF (
dompdf،mpdf) هذا النمط؛ فهي تستهدف خط معالجة Html في NextPDF مباشرةً. - عمليات الترحيل بالاستبدال المباشر ثم الترحيل تأتي مع محوِّل شبه متوافق مع المصدر، بحيث تكون النقلة الأولية مجرد تبديل محدود للتبعيات. ومن هناك انقل مواضع الاستدعاء إلى الـ API الحديثة تدريجيًا، ثم تخلَّص من المحوِّل. يستخدم ترحيل TCPDF هذا النمط، عبر محوِّل
nextpdf/compat-legacy.
مرجع الأدلة والمستودع المالك
قسم بعنوان «مرجع الأدلة والمستودع المالك»يوجد كل دليل أدناه داخل docs/public/ في المستودع المالك، ويسحبه المُجمِّع إلى هذا الموقع. المستودع المالك هو المرجع المعتمد للادعاءات السلوكية في ذلك الدليل؛ أما هذا الفهرس فيسجِّل التوجيه فقط.
| من | الدليل | النمط | المستودع المالك | الصفحة |
|---|---|---|---|---|
| Dompdf | Dompdf → خط معالجة Html في NextPDF | إعادة كتابة API | nextpdf (النواة) | دليل Dompdf |
| mPDF | mPDF → نواة NextPDF | إعادة كتابة API | nextpdf (النواة) | دليل mPDF |
| FPDF | FPDF → نواة NextPDF | إعادة كتابة API | nextpdf (النواة) | دليل FPDF |
| TCPDF 6.x | TCPDF → NextPDF عبر محوِّل compat-legacy | الاستبدال المباشر ثم الترحيل | مستودع nextpdf-compat-tcpdf، الحزمة nextpdf/compat-legacy | دليل TCPDF |
توجد أدلة dompdf وmpdf وfpdf في مستودع النواة لأنها تستهدف واجهات API لمحرك النواة، وتدعمها أمثلة النواة في examples/. ويوجد دليل tcpdf-compat في مستودع compat-tcpdf لأن حزمة nextpdf/compat-legacy تملك السطح السلوكي لـ TCPDF واختبارات المحوِّل التي تدعم الدليل. هذا الفهرس أصلي في مستودع التوثيق لأنه يمتد عبر المستودعات، ولا يقدِّم أي ادعاء سلوكي بشأن أي دليل بمفرده.
الغرض من كل دليل
قسم بعنوان «الغرض من كل دليل»- Dompdf → NextPDF — لقواعد الشيفرة التي تستخدم
dompdf/dompdfمن جانب الخادم. يربطloadHtml/render/outputومفاتيحOptionsبخط معالجة Html في NextPDF، ويحيل توقعات خصائص CSS إلى مصفوفة دعم CSS المقتصرة على ما تم التحقق منه. لا توجد طبقة توافق وسيطة لفئة Dompdf؛ أعد كتابة كل موضع استدعاء. - mPDF → NextPDF — لقواعد الشيفرة التي تستخدم
mpdf/mpdf. يربطWriteHTML/Output/AddPageومصفوفة إعدادات المُنشئ بالـ API الخاصة بالنواة، مع اختلاف واحد في معالجة الخطوط: يحل NextPDF الخطوط عبر دليل خطوط واحد بالإضافة إلى مطابقة CSS، ويُجزِّئ الخطوط دائمًا. لا توجد طبقة توافق وسيطة لفئة Mpdf. - FPDF → NextPDF — لقواعد الشيفرة التي تستخدم واجهة الرسم في FPDF مباشرةً. يربط
AddPage/SetFont/Cell/MultiCell/Write/Text/Image/Outputونموذج المؤشِّر اليدوي بالـ API الخاصة بالنواة، ويوثِّق اختلاف الوحدات. لا توجد طبقة توافق وسيطة لفئة FPDF. - TCPDF → NextPDF (compat-legacy) — لقواعد شيفرة TCPDF 6.x التي تريد أصغر تغيير أولي. ثبِّت المحوِّل، ودقِّق سطحك الفعلي بالوضع الصارم في مقابل مصفوفة التغطية داخل المستودع، ورحِّل مواضع الاستدعاء بعيدًا عن المحوِّل، ثم أضِف فوق ذلك بنية موسومة وفق PDF/إمكانية الوصول الشامل (PDF/UA-2)، وهي قدرة لم يمتلكها TCPDF قط. المحوِّل سقالة، وليس الوجهة النهائية، وليس ضمانًا للاستبدال المباشر.
انظر أيضًا
قسم بعنوان «انظر أيضًا»- مصفوفة دعم CSS — المرجع المعتمد والمقتصر على ما تم التحقق منه لتوقعات خصائص CSS في دليلَي
dompdfوmpdf. - كتاب وصفات التكامل — فهرس حِزم تكامل المنظومة عبر المستودعات. يتناول شأنًا مختلفًا: توصيل المحرك، وليس الترحيل إليه.