تخطَّ إلى المحتوى

كتاب وصفات PHP

يسرد هذا الفهرس وصفات ⁨NextPDF⁩ الأصيلة في ⁨PHP⁩: صفحات قابلة للتشغيل ومركَّزة على المهام، مكتوبة مباشرةً مقابل واجهة ⁨PHP⁩ الأساسية. توجد كل وصفة في المستودع الأساسي nextpdf وتُتحقَّق ضمن docs/public/cookbook/php/. لكل وصفة سكربت examples/*.php واختبار مِهاد ضمن tests/Cookbook/Php/. يسحب المُجمِّع بعد ذلك كل صفحة إلى هذا الموقع ويحفظ منشأها المصدري.

بما أن هذه الصفحة فهرس، فهي لا تقدّم أي ادعاءات سلوكية عن أي وصفة. يسجّل كل صف غرض الوصفة، والوحدة الأساسية التي تستخدمها، وملف قابلية إعادة الإنتاج المعلَن لها. ويعود الملف وأي ادعاء بالمطابقة إلى صفحة الوصفة نفسها؛ فكلاهما يأتي من بيانات تلك الصفحة الأمامية ومن اختبارها داخل المستودع، لا من هذا الفهرس. للاطلاع على كتاب وصفات التكامل (إطار العمل / المُصيِّر / الخدمة)، راجع كتاب وصفات التكامل. للاطلاع على العقد الذي تتبعه كل وصفة قابلة للتشغيل، راجع اصطلاحات الوصفات.

كل [[…]] أدناه مرجع أمامي إلى صفحة مؤلَّفة في المستودع الأساسي ضمن docs/public/cookbook/php/. يسحب المُجمِّع بعد ذلك تلك الصفحة إلى هذا الموقع. يتبع كل مُعرِّف اصطلاحًا واحدًا: مقطعًا واحدًا.

/cookbook/php/<recipe>/

يسمّي <recipe> غرض الوصفة بصيغة ⁨kebab-case⁩ (على سبيل المثال render-html-to-pdf، لا اسم الوحدة html). ويكون بأحرف صغيرة، ومفصولًا بشرطات، وخاليًا من أرقام الإصدارات، وينتهي بشَرطة مائلة لاحقة واحدة. إلى أن تُجمَّع الصفحة المستهدفة، يبقى رابطها عنصرًا نائبًا ولا يُحَلّ. ولا يمكن نشر الوصفة التي لا تملك بعدُ مثالًا قابلًا للتشغيل (قائمة الفجوات أدناه) إلى أن يوجد مثالها واختبار مِهادها، وإن كان الرابط يشير سلفًا إلى المُعرِّف النهائي.

ملف قابلية إعادة الإنتاج، في سطر واحد

قسم بعنوان «ملف قابلية إعادة الإنتاج، في سطر واحد»

تعلن كل وصفة عن أصرم ملف يمكنها استيفاؤه بدقة:

  • ⁨bitwise⁩ — متطابق على مستوى البايت عبر عمليات التشغيل (محتوى حتمي بسيط مع تثبيت كل مصادر العشوائية).
  • ⁨structural⁩ — متطابق بعد تسوية الذرّات المتقلّبة (وسم /ID في المُذيَّل، وتواريخ ⁨creation/modification⁩، وبادئات تجزئة الخطوط — وعمليًا يشمل ذلك كل ملف ⁨PDF⁩ متعدد الكائنات).
  • ⁨semantic⁩ — تكافؤ شجرة البنية المجرّدة (⁨structural-AST⁩) مع تكافؤ البيانات الوصفية فقط (مُخرَج موقَّع أو مختوم بطابع زمني، أو مُخرَج تكافؤه غير ثابت على مستوى البايت بطبيعته).

تُثبت صفحة الوصفة الملفَّ عبر اختبار مِهادها. ولا يتجاوز دور هذا الفهرس الإبلاغ عن القيمة التي تعلنها تلك الصفحة.

الوصفات المُجمَّعة بالفعل

قسم بعنوان «الوصفات المُجمَّعة بالفعل»

يضم المستودع الأساسي اليوم هذه الوصفات الخمس ويدمجها بالفعل: مجموعة ⁨Wave 8.⁩

الوصفةما تؤديهالوحدةالملف
sign-pades (مُخطَّط لها في المنبع)تطبيق توقيع أساسي ⁨CMS/PAdES⁩ بمفتاح برمجيالأمان⁨semantic⁩
encrypt-aes256 (مُخطَّط لها في المنبع)التشفير باستخدام ⁨AES-256⁩ وضبط أعلام الأذوناتالأمان⁨structural⁩
pdfa4-conformance-gate (مُخطَّط لها في المنبع)إنتاج مُخرَج ⁨PDF/A-4⁩ والاحتكام إلى مُحقِّق خارجيالمطابقة⁨semantic⁩
accessible-pdfua2-from-html (مُخطَّط لها في المنبع)إصدار بنية موسومة لتأليف ⁨PDF/UA-2⁩ متاح الوصولإمكانية الوصول⁨semantic⁩
validate-signature (مُخطَّط لها في المنبع)فحص ما إذا كان ملف ⁨PDF⁩ يحمل توقيعًا، وحدود الثقةالفحص⁨semantic⁩

بناء مستند وتقسيمه إلى صفحات وتنسيقه.

الوصفةما تؤديهالوحدةالملف
render-html-to-pdf (مُخطَّط لها في المنبع)تصيير مستند ⁨HTML⁩ إلى ⁨PDF⁩⁨Html⁩⁨structural⁩
style-with-css (مُخطَّط لها في المنبع)تطبيق ⁨CSS⁩ على تصيير ⁨HTML⁩⁨Html⁩⁨structural⁩
html-table-layout (مُخطَّط لها في المنبع)تخطيط جدول ⁨HTML⁩⁨Html⁩⁨structural⁩
paginate-long-html (مُخطَّط لها في المنبع)تقسيم مستند ⁨HTML⁩ طويل إلى صفحات⁨Html⁩⁨structural⁩
compose-text-and-fonts (مُخطَّط لها في المنبع)تأليف النص مع التحكّم الطباعيالطباعة⁨structural⁩
embed-and-subset-fonts (مُخطَّط لها في المنبع)تضمين الخطوط وتجزئتهاالخط⁨structural⁩
cjk-vertical-writing (مُخطَّط لها في المنبع)ضبط نص ⁨CJK⁩ في وضع الكتابة العموديةالطباعة⁨structural⁩
multi-page-document (مُخطَّط لها في المنبع)بناء مستند متعدد الصفحاتالمستند⁨structural⁩
headers-and-footers (مُخطَّط لها في المنبع)إضافة ترويسات وتذييلات جاريةالتخطيط⁨structural⁩

العمل مع المتجهات والصور والطبقات وفضاء الإحداثيات.

الوصفةما تؤديهالوحدةالملف
draw-vector-graphics (مُخطَّط لها في المنبع)رسم رسوميات متجهةالرسوميات⁨structural⁩
gradients-and-transparency (مُخطَّط لها في المنبع)تطبيق التدرّجات والشفافيةالرسوميات⁨structural⁩
embed-images (مُخطَّط لها في المنبع)تضمين الصور النقطيةالمحتوى⁨structural⁩
optional-content-layers (مُخطَّط لها في المنبع)استخدام المحتوى الاختياري (الطبقات)الرسوميات⁨structural⁩
transform-coordinate-space (مُخطَّط لها في المنبع)تحويل فضاء الإحداثياتالرسوميات⁨structural⁩

إضافة إشارات مرجعية وروابط وتعليقات توضيحية وحقول ⁨AcroForm.⁩

الوصفةما تؤديهالوحدةالملف
bookmarks-and-toc (مُخطَّط لها في المنبع)بناء الإشارات المرجعية وجدول المحتوياتالتنقّل⁨structural⁩
links-and-annotations (مُخطَّط لها في المنبع)إضافة الروابط والتعليقات التوضيحيةالتنقّل⁨structural⁩
generate-barcodes (مُخطَّط لها في المنبع)توليد الباركودالباركود⁨bitwise⁩
fill-pdf-form (مُخطَّط لها في المنبع)تعبئة نموذج ⁨AcroForm⁩النموذج⁨structural⁩
flatten-form-fields (مُخطَّط لها في المنبع)تسطيح حقول النموذجالنموذج⁨structural⁩

ضبط البيانات الوصفية وسلوك العارض.

الوصفةما تؤديهالوحدةالملف
set-document-metadata (مُخطَّط لها في المنبع)ضبط البيانات الوصفية للمستندالبيانات الوصفية⁨structural⁩
set-viewer-preferences (مُخطَّط لها في المنبع)ضبط تفضيلات العارضالمستند⁨structural⁩

الأمان والتوقيع والمطابقة

قسم بعنوان «الأمان والتوقيع والمطابقة»

استخدام التشفير والتوقيع وإمكانية الوصول وإخراج الملفات. تترك هذه الوصفات حدّي الدعم≠المطابقة والوجود≠الصلاحية لصفحة الوصفة.

الوصفةما تؤديهالوحدةالملف
encrypt-with-permissions (مُخطَّط لها في المنبع)التشفير مع أعلام الأذوناتالأمان⁨structural⁩
sign-pades-b-b (مُخطَّط لها في المنبع)تطبيق توقيع ⁨PAdES⁩ (⁨B-B⁩ و⁨B-T⁩)الأمان⁨semantic⁩
inspect-existing-signature (مُخطَّط لها في المنبع)فحص توقيع قائمالفحص⁨semantic⁩
tagged-pdf-ua2 (مُخطَّط لها في المنبع)إصدار البنية الموسومة لـ ⁨PDF/UA-2⁩إمكانية الوصول⁨semantic⁩
pdf-a-4-output (مُخطَّط لها في المنبع)إنتاج مُخرَج ⁨PDF/A-4⁩المطابقة⁨semantic⁩
validate-conformance (مُخطَّط لها في المنبع)التحقّق مقابل ملف مطابقةالامتثال⁨semantic⁩

قراءة المحتوى والبنية مرة أخرى من ملف ⁨PDF.⁩

الوصفةما تؤديهالوحدةالملف
extract-text-content (مُخطَّط لها في المنبع)استخراج المحتوى النصيالنص⁨semantic⁩
parse-and-inspect-pdf (مُخطَّط لها في المنبع)تحليل ملف ⁨PDF⁩ وفحصهالفحص⁨semantic⁩
inspect-layout-boxes (مُخطَّط لها في المنبع)فحص صناديق التخطيطالفحص⁨semantic⁩

استخدام أنماط تمتد عبر عدة وحدات.

الوصفةما تؤديهالنطاقاتالملف
worker-safe-batch-rendering (مُخطَّط لها في المنبع)التصيير بأمان داخل عامل طويل التشغيل (سجلّات مشتركة، ذاكرة محدودة)⁨Core⁩ · ⁨Performance⁩ · ⁨Support⁩⁨semantic⁩
exception-aware-error-handling (مُخطَّط لها في المنبع)معالجة الأخطاء عبر تسلسل استثناءات ⁨NextPDF⁩⁨Exception⁩ · ⁨Contracts⁩⁨structural⁩
observe-with-opentelemetry (مُخطَّط لها في المنبع)مراقبة التصيير عبر ⁨OpenTelemetry⁩⁨Observability⁩ · ⁨Telemetry⁩ · ⁨Event⁩⁨semantic⁩

وصفات بانتظار مثال قابل للتشغيل

قسم بعنوان «وصفات بانتظار مثال قابل للتشغيل»

تحتاج هذه الوصفات إلى ملف examples/*.php جديد إضافةً إلى مِهاد tests/Cookbook/Php/ في المستودع الأساسي قبل أن يمكن نشرها. المُعرِّف أعلاه نهائي. وتبقى الصفحة عنصرًا نائبًا إلى أن يصل المثال ويُشغَّل اختباره:

  • sign-pades-b-b (مُخطَّط لها في المنبع) (تشمل ⁨PAdES B-B⁩ و⁨B-T⁩)
  • inspect-existing-signature (مُخطَّط لها في المنبع)
  • extract-text-content (مُخطَّط لها في المنبع)
  • parse-and-inspect-pdf (مُخطَّط لها في المنبع)
  • validate-conformance (مُخطَّط لها في المنبع)
  • inspect-layout-boxes (مُخطَّط لها في المنبع)
  • worker-safe-batch-rendering (مُخطَّط لها في المنبع) (المثال موجود؛ أُضيف اختبار مِهاد جديد للذاكرة/جمع المهملات)
  • observe-with-opentelemetry (مُخطَّط لها في المنبع) (أُضيف مثال جديد أصيل في ⁨PHP⁩)

كل وصفة أخرى أعلاه لديها سلفًا ملف examples/*.php داعم، ولا تحتاج إلا إلى غلاف مِهاد. يسجّل هذا الفهرس المُعرِّف والصفحة المنتظَرة. وهو لا يدّعي أن أي صفحة معلَّقة مكتملة بالفعل.