تثبيت NextPDF
لمحة سريعة
قسم بعنوان «لمحة سريعة»ثبّت أي توزيعة من NextPDF بأمر واحد عبر مدير الحزم. تستخدم توزيعات PHP أداة Composer، بينما تستخدم مجموعة تطوير البرامج (SDK) الخاصة بلغة Python أداة pip. اختر علامة التبويب المناسبة لما تبنيه. نفّذ الأمر، ثم تحقّق من النتيجة في أسفل هذه الصفحة.
المتطلّبات
قسم بعنوان «المتطلّبات»يستهدف NextPDF بيئة تشغيل حديثة واحدة. وتأتي هذه القيود مباشرةً من ملفات composer.json الخاصة بالحزم نفسها.
| المتطلب | القيد | الحالة | الملاحظات |
|---|---|---|---|
| PHP | >=8.4 <9.0 | مطلوب | يرفض Composer التثبيت على PHP 8.3 أو أقدم، أو على PHP 9. |
| Composer | 2.x | مطلوب | مطلوب لحل التبعيات وإنشاء أداة التحميل التلقائي. |
ext-mbstring | — | مطلوب | معالجة السلاسل النصية متعددة البايت لتخطيط النص. |
ext-zlib | — | مطلوب | ضغط التدفقات لكائنات Portable Document Format (PDF). |
ext-intl | — | مطلوب | خدمات International Components for Unicode (ICU): نص ثنائي الاتجاه، وفصل الأسطر، والتنسيق المراعي للإعدادات المحلية. |
ext-gd | — | مطلوب | فك ترميز الصور النقطية ومعالجتها للصور المضمنة. |
ext-curl | — | مطلوب | الاتصالات الشبكية ذهابا وإيابا: الختم الزمني وفق RFC 3161 وجلب الأصول البعيدة. لا يستدعيها التوليد دون اتصال، لكن Composer يظل يتطلبها. |
ext-openssl | — | مطلوب | التعمية للتوقيعات الرقمية وبُنى CMS والتشفير. |
| Chrome or Chromium | — | اختياري | لعارض Artisan فقط (writeHtmlChrome()). |
| Gotenberg service | — | اختياري | لتحويل مستندات المكتب وملفات HTML عبر Gotenberg فقط. |
| Python | 3.10+ | اختياري | لـ software development kit (SDK) الخاص بـ Python فقط. |
يأتي ext-mbstring وext-zlib مُفعَّلَيْن في معظم بنى PHP؛ أمّا ext-intl وext-gd وext-curl وext-openssl فتختلف حسب التوزيعة، لذا تحقّق من الستّة جميعها باستخدام php -m قبل التثبيت. تتحقّق التكاملات من الامتدادات التي تحتاج إليها أثناء الإقلاع، وتتوقّف برسالة واضحة إذا كان أيٌّ منها مفقودًا.
تثبيت المحرّك الأساسي
قسم بعنوان «تثبيت المحرّك الأساسي»لإنشاء ملفات PDF وفحصها من PHP، لا تحتاج إلا إلى المحرّك الأساسي.
composer require nextpdf/coreأودِع composer.lock حتى يستخدم كل عامل نشر إصدار المحرّك نفسه. بعد التثبيت، تابِع إلى ملف PDF الأول لك.
تثبيت تكامل إطار عمل
قسم بعنوان «تثبيت تكامل إطار عمل»ثبّت محوّل إطار عمل واحدًا للحصول على ارتباطات الحاوية، ومساعدات الاستجابة، ومهامّ الطابور. يعلن كل محوّل عن nextpdf/core ويحلّه نيابةً عنك.
composer require nextpdf/laravelيسجّل الاكتشاف التلقائي مزوّد الخدمة وواجهة Pdf. ثم انشُر ملف الإعدادات:
php artisan vendor:publish --tag=nextpdf-configcomposer require nextpdf/symfonyفي تطبيق Symfony Flex، تسجّل الحزمة نفسها تلقائيًا. وفي تطبيق غير Flex، أضِف NextPDF\Symfony\NextPdfBundle إلى config/bundles.php بنفسك. راجِع دليل تثبيت Symfony.
composer require nextpdf/codeigniterيكتشف CodeIgniter 4 صنف Services ومساعد pdf() تلقائيًا، لذا لا تحتاج إلى تسجيل يدوي. راجِع دليل تثبيت CodeIgniter.
تثبيت مُصيّر أو خدمة
قسم بعنوان «تثبيت مُصيّر أو خدمة»يُصيّر NextPDF صفحات HTML إلى PDF بثلاث طرق. ثبّت الخيار المناسب للموضع الذي تريد أن يحدث فيه التصيير. ولا يحلّ أيٌّ منها محلّ writeHtml()، وهو خطّ أنابيب HTML المدمج والخالص بلغة PHP في المحرّك الأساسي.
composer require nextpdf/artisanتضيف هذه الحزمة تصييرًا عبر Chrome بلا واجهة من خلال بروتوكول أدوات مطوّري Chrome (CDP). وتحتاج أيضًا إلى نسخة تنفيذية من Chrome أو Chromium يمكن للمضيف الوصول إليها. بعد التثبيت، استدعِ writeHtmlChrome() على مستند. راجِع دليل البدء السريع لـ Artisan.
composer require nextpdf/cloudflare guzzlehttp/guzzleيجري التصيير عبر Cloudflare Browser Rendering عند الحافة. يعتمد الجسر فقط على عقود توصية معايير PHP (PSR)، وهي PSR-18 وPSR-17، لذلك وفّر عميل بروتوكول نقل النص التشعّبي (HTTP) الخاص بك (وهنا معروض Guzzle). راجِع دليل تثبيت Cloudflare.
composer require nextpdf/gotenberg guzzlehttp/guzzleتحوّل هذه الحزمة مستندات المكتب وHTML عبر خدمة Gotenberg. وفّر عميل PSR-18 ونسخة Gotenberg يمكن الوصول إليها. راجِع دليل تثبيت Gotenberg.
تثبيت الخادم
قسم بعنوان «تثبيت الخادم»NextPDF Server (المعروف أيضًا باسم Connect) خدمة مستقلة. وهو يكشف المحرّك عبر بروتوكول سياق النموذج (MCP)، ونقل الحالة التمثيلي (REST)، وgRPC.
composer require nextpdf/serverتضيف الحزمة نقاط دخول للطرفية إلى vendor/bin/، منها vendor/bin/nextpdf-mcp (خادم MCP عبر stdio) وvendor/bin/nextpdf-server (خادم REST). ويحتاج نقلا REST وgRPC أيضًا إلى نسخة RoadRunner التنفيذية:
./vendor/bin/rr get-binaryراجِع دليل تثبيت Connect ودليل البدء السريع لـ Connect.
تثبيت مجموعة تطوير البرامج (SDK) الخاصة بلغة Python
قسم بعنوان «تثبيت مجموعة تطوير البرامج (SDK) الخاصة بلغة Python»مجموعة تطوير البرامج (SDK) الخاصة بلغة Python هي العميل المُحدَّد الأنواع لخادم NextPDF Server قيد التشغيل. ثبّتها من فهرس حزم Python (PyPI):
pip install nextpdfتحتاج مجموعة تطوير البرامج (SDK) إلى Python 3.10 أو أحدث ونقطة وصول لخادم NextPDF Server يمكن الوصول إليها. راجِع دليل البدء السريع لمجموعة تطوير البرامج (SDK) الخاصة بلغة Python.
التحقّق من التثبيت
قسم بعنوان «التحقّق من التثبيت»تأكّد من تثبيت كل توزيعة بشكل صحيح قبل أن تبدأ كتابة التعليمات البرمجية.
composer show nextpdf/coreيؤكّد سطر الإصدار أن المحرّك مثبّت ومتاح لمُحمّل التحميل التلقائي.
php artisan package:discover --ansiتُدرِج المُخرجات nextpdf/laravel ضمن الحزم المُكتشَفة.
php bin/console debug:container nextpdfتُبلغ الحاوية عن الاسم البديل nextpdf.document وخدمة PdfFactory.
./vendor/bin/generate-skills --dry-run --list-toolsيُقلع هذا الأمر السجلّ ويطبع الأدوات التي يكشفها هذا التثبيت دون بدء خادم.
nextpdf versionتؤكّد سلسلة الإصدار أن مجموعة تطوير البرامج (SDK) تُستورَد بشكل سليم.