أدلة الترحيل
أدلة الترحيل
قسم بعنوان «أدلة الترحيل»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 باسم dompdf (مخطَّط له في المصدر الأصلي) |
| mPDF | mPDF → نواة NextPDF | إعادة كتابة API | nextpdf (النواة) | دليل mPDF باسم mpdf (مخطَّط له في المصدر الأصلي) |
| TCPDF 6.x | TCPDF → NextPDF عبر محوِّل compat-legacy | الاستبدال المباشر ثم الترحيل | مستودع nextpdf-compat-tcpdf، الحزمة nextpdf/compat-legacy | دليل TCPDF باسم tcpdf-compat (مخطَّط له في المصدر الأصلي) |
يوجد دليلا dompdf وmpdf في مستودع النواة لأنهما يستهدفان واجهات API لمحرك النواة، وتدعمهما أمثلة النواة في examples/. ويوجد دليل tcpdf-compat في مستودع compat-tcpdf لأن حزمة nextpdf/compat-legacy تملك السطح السلوكي لـ TCPDF واختبارات المحوِّل التي تدعم الدليل. هذا الفهرس أصلي في مستودع التوثيق لأنه يمتد عبر المستودعات، ولا يقدِّم أي ادعاء سلوكي بشأن أي دليل بمفرده.
الغرض من كل دليل
قسم بعنوان «الغرض من كل دليل»- Dompdf → NextPDF (
dompdf(مخطَّط له في المصدر الأصلي)) — لقواعد الشيفرة التي تستخدمdompdf/dompdfمن جانب الخادم. يربطloadHtml/render/outputومفاتيحOptionsبخط معالجة Html في NextPDF، ويحيل توقعات خصائص CSS إلى مصفوفة دعم CSS المقتصرة على ما تم التحقق منه. لا توجد طبقة توافق وسيطة لفئة Dompdf؛ أعد كتابة كل موضع استدعاء. - mPDF → NextPDF (
mpdf(مخطَّط له في المصدر الأصلي)) — لقواعد الشيفرة التي تستخدمmpdf/mpdf. يربطWriteHTML/Output/AddPageومصفوفة إعدادات المُنشئ بالـ API الخاصة بالنواة، مع اختلاف واحد في معالجة الخطوط: يحل NextPDF الخطوط عبر دليل خطوط واحد بالإضافة إلى مطابقة CSS، ويُجزِّئ الخطوط دائمًا. لا توجد طبقة توافق وسيطة لفئة Mpdf. - TCPDF → NextPDF (compat-legacy) (
tcpdf-compat(مخطَّط له في المصدر الأصلي)) — لقواعد شيفرة TCPDF 6.x التي تريد أصغر تغيير أولي. ثبِّت المحوِّل، ودقِّق سطحك الفعلي بالوضع الصارم في مقابل مصفوفة التغطية داخل المستودع، ورحِّل مواضع الاستدعاء بعيدًا عن المحوِّل، ثم أضِف فوق ذلك بنية موسومة وفق PDF/إمكانية الوصول الشامل (PDF/UA-2)، وهي قدرة لم يمتلكها TCPDF قط. المحوِّل سقالة، وليس الوجهة النهائية، وليس ضمانًا للاستبدال المباشر.
كيفية تفسير روابط الأدلة
قسم بعنوان «كيفية تفسير روابط الأدلة»يشير كل عنصر نائب [[…]] أعلاه إلى صفحة توجد في المستودع المالك ضمن docs/public/migration/، ويسحب المُجمِّع تلك الصفحة إلى هذا الموقع. تتبع مُعرِّفات الوجهة (slugs) اصطلاحًا واحدًا:
/migration/<source>/الرمز <source> هو الاسم المختصر للمكتبة التي تُرحِّل منها: أحد dompdf أو mpdf أو tcpdf-compat، كما هو مدرَج في جدول مرجع الأدلة أعلاه. إلى أن تُجمَّع صفحة الوجهة، يظل رابطها عنصرًا نائبًا ولا يُحَل. لا يقدِّم هذا الفهرس أي ادعاء سلوكي بشأن أي دليل وجهة؛ بل يسجِّل التوجيه ونموذج الترحيل المشترك فقط.
انظر أيضًا
قسم بعنوان «انظر أيضًا»- مصفوفة دعم CSS — المرجع المعتمد والمقتصر على ما تم التحقق منه لتوقعات خصائص CSS في دليلَي
dompdfوmpdf. - كتاب وصفات التكامل — فهرس حِزم تكامل المنظومة عبر المستودعات. يتناول شأنًا مختلفًا: توصيل المحرك، وليس الترحيل إليه.