Cookbook integrasi
Cookbook integrasi
Bagian berjudul “Cookbook integrasi”Core NextPDF merender Portable Document Format (PDF) 2.0 dari PHP. Kesembilan paket integrasi menghubungkan mesin tersebut ke framework, backend renderer, basis kode lama, alur build, atau layanan jaringan. Halaman ini menjelaskan kegunaan setiap integrasi, mencantumkan nama paket dan batasan versi core-nya (dibaca langsung dari composer.json masing-masing), serta menautkan ke resep untuk tiap integrasi yang muncul di sini begitu repositori sumber merilis struktur docs/public/-nya.
Karena halaman ini berupa indeks, halaman ini tidak membuat klaim perilaku apa pun tentang integrasi mana pun. Repositori masing-masing integrasi memiliki resepnya sendiri. Agregator menarik resep tersebut ke situs ini. Hingga sebuah resep tersedia, tautannya mengarah ke placeholder. Untuk rekomendasi berbasis kasus penggunaan, baca Memilih integrasi. Untuk kontrak yang diikuti oleh setiap resep yang dapat dijalankan, baca Konvensi resep.
Lima bentuk integrasi
Bagian berjudul “Lima bentuk integrasi”Kesembilan paket ini terbagi ke dalam lima bentuk. Setiap bentuk menunjukkan jenis masalah yang diselesaikan oleh integrasi tersebut.
- Integrasi framework menyambungkan NextPDF ke service container dan siklus hidup permintaan framework aplikasi:
nextpdf/laravel,nextpdf/symfony,nextpdf/codeigniter. Anda menginstal salah satunya, me-resolve service, dan mengembalikan respons PDF. - Jembatan renderer mengirim langkah HTML-ke-PDF atau Office-ke-PDF ke backend renderer eksternal alih-alih pipeline in-process:
nextpdf/artisan(Chrome headless melalui Chrome DevTools Protocol),nextpdf/gotenberg(microservice Gotenberg),nextpdf/cloudflare(Cloudflare Browser Rendering di edge). - Shim kompatibilitas memungkinkan basis kode yang ditulis untuk pustaka PDF lama memanggil NextPDF sebelum Anda menulis ulangnya:
nextpdf/compat-legacy. - Alat build menghasilkan backport PHP 8.1 / 7.4 dari NextPDF untuk runtime yang tidak dapat menjalankan 8.4:
nextpdf/backport-builder. - Layanan jaringan mengekspos NextPDF melalui Representational State Transfer (REST), gRPC, dan Model Context Protocol untuk sistem AI dan pemanggil jarak jauh:
nextpdf/server(didistribusikan sebagai NextPDF Connect).
Jembatan renderer yang berkomunikasi melalui Hypertext Transfer Protocol (HTTP) (nextpdf/gotenberg, nextpdf/cloudflare, dan jalur HTTP-client di nextpdf/laravel) bergantung pada klien HTTP PHP Standard Recommendation 18 (PSR-18) yang disediakan oleh aplikasi host. Berdasarkan PSR-18 §4, klien hanya memunculkan exception klien bertipe ketika sama sekali tidak dapat mengirim permintaan. Respons HTTP 4xx atau 5xx adalah nilai kembalian normal, bukan exception, berdasarkan klausa PSR-18 §4 yang sama. Resep yang memanggil renderer jarak jauh menangani kesalahan transport dan status non-sukses sebagai kasus terpisah.
Referensi paket dan batasan core
Bagian berjudul “Referensi paket dan batasan core”Setiap nilai di bawah ini berasal dari composer.json paket yang disebutkan (sumber otoritatif). Batasan core adalah persyaratan nextpdf/core yang dideklarasikan oleh paket tersebut. nextpdf/backport-builder tidak mendeklarasikan persyaratan nextpdf/core apa pun karena ia mentransformasikan sumber mesin alih-alih bergantung pada mesin saat runtime.
| Integrasi | Paket | Bentuk | Batasan core | Resep |
|---|---|---|---|---|
| Laravel | nextpdf/laravel | framework | ^3.0 || ^5.2 | Quickstart Laravel [[/integrations/laravel/quickstart/]] |
| Symfony | nextpdf/symfony | framework | ^3.0 || ^5.2 | Quickstart Symfony [[/integrations/symfony/quickstart/]] |
| CodeIgniter 4 | nextpdf/codeigniter | framework | ^3.0 || ^5.2 | Quickstart CodeIgniter [[/integrations/codeigniter/quickstart/]] |
| Artisan (Chrome) | nextpdf/artisan | Jembatan renderer | ^3.0 || ^5.2 | Quickstart Artisan [[/integrations/artisan/quickstart/]] |
| Gotenberg | nextpdf/gotenberg | Jembatan renderer | ^3.0 | Quickstart Gotenberg [[/integrations/gotenberg/quickstart/]] |
| Cloudflare | nextpdf/cloudflare | Jembatan renderer | ^3.0 | Quickstart Cloudflare [[/integrations/cloudflare/quickstart/]] |
| Compat (legacy) | nextpdf/compat-legacy | shim kompatibilitas | ^3.0 | Quickstart Compat-legacy [[/integrations/compat-legacy/quickstart/]] |
| Backport builder | nextpdf/backport-builder | Alat build | tidak berlaku | Quickstart Backport [[/integrations/backport/quickstart/]] |
| Connect (server) | nextpdf/server | Layanan jaringan | ^3.0 | Quickstart Connect [[/integrations/connect/quickstart/]] |
NextPDF mendistribusikan nextpdf/server dengan nama produk NextPDF Connect; resepnya berada di bawah slug connect. nextpdf/compat-legacy dirilis dari keluarga compat; resepnya berada di bawah slug compat-legacy.
Setiap paket memerlukan PHP >=8.4 <9.0 pada runtime masing-masing. nextpdf/backport-builder hadir untuk menghasilkan artefak yang berjalan pada PHP 8.1 (dan target 7.4). Yang berjalan pada runtime yang lebih lama adalah mesin hasil backport, bukan builder-nya.
Untuk apa setiap integrasi digunakan
Bagian berjudul “Untuk apa setiap integrasi digunakan”Integrasi framework
Bagian berjudul “Integrasi framework”nextpdf/laravel— service provider Laravel 12, facade, dan helper respons PDF. Gunakan ini ketika aplikasi Anda adalah aplikasi Laravel dan Anda ingin NextPDF di-resolve dari container lalu dikembalikan sebagai respons HTTP tanpa penyambungan manual. Resep: [[/integrations/laravel/quickstart/]].nextpdf/symfony— bundle Symfony 7 dengan service dependency-injection dan helper respons PDF. Gunakan ini ketika aplikasi Anda adalah aplikasi Symfony. Bundle ini mendaftarkan mesin sebagai service dan terintegrasi dengan responssymfony/http-foundation. Resep: [[/integrations/symfony/quickstart/]].nextpdf/codeigniter— service CodeIgniter 4, wrapper pustaka, dan helper respons PDF. Gunakan ini ketika aplikasi Anda adalah aplikasi CodeIgniter 4 dan Anda ingin NextPDF tersedia melalui service locator framework. Resep: [[/integrations/codeigniter/quickstart/]].
Jembatan renderer
Bagian berjudul “Jembatan renderer”nextpdf/artisan— renderer Chrome headless melalui Chrome DevTools Protocol. Gunakan ini ketika dokumen memerlukan mesin Cascading Style Sheets (CSS) peramban untuk fidelitas tata letak yang bukan sasaran pipeline HTML in-process, dan Anda dapat menjalankan proses Chrome di dekat aplikasi. Resep: [[/integrations/artisan/quickstart/]].nextpdf/gotenberg— konversi Office-ke-PDF dan HTML-ke-PDF melalui microservice Gotenberg. Gunakan ini ketika masukannya adalah dokumen Office, atau ketika renderer harus berjalan di luar proses dalam layanan terpisah. Ia berkomunikasi melalui HTTP lewat klien PSR-18 yang disediakan oleh host. Resep: [[/integrations/gotenberg/quickstart/]].nextpdf/cloudflare— rendering serverless melalui Cloudflare Browser Rendering API. Gunakan ini ketika rendering sebaiknya berjalan di edge tanpa proses peramban berumur panjang yang harus dioperasikan. Ia berkomunikasi melalui HTTP lewat klien PSR-18 yang disediakan oleh host. Resep: [[/integrations/cloudflare/quickstart/]].
shim kompatibilitas
Bagian berjudul “shim kompatibilitas”nextpdf/compat-legacy— lapisan kompatibilitas untuk basis kode yang ditulis terhadap pustaka PDF lama. Gunakan ini untuk memanggil NextPDF dari kode yang sudah ada sebelum Anda menulis ulang call site-nya. Ini adalah alat bantu migrasi, bukan dependensi permanen. Resep: [[/integrations/compat-legacy/quickstart/]].
Alat build
Bagian berjudul “Alat build”nextpdf/backport-builder— pipeline downgrade berbasis Rector yang menghasilkan build NextPDF untuk PHP 8.1 (dan target 7.4). Gunakan ini ketika sebuah runtime tidak dapat berpindah ke PHP 8.4 dan Anda tetap membutuhkan mesin tersebut di sana. Ini adalah infrastruktur build, bukan dependensi runtime aplikasi. Resep: [[/integrations/backport/quickstart/]].
Layanan jaringan
Bagian berjudul “Layanan jaringan”nextpdf/server(NextPDF Connect) — mengekspos NextPDF melalui REST API, layanan gRPC, dan Model Context Protocol. Gunakan ini ketika pemanggil berada jarak jauh, menggunakan bahasa lain, atau merupakan sistem AI yang membutuhkan endpoint alat alih-alih pustaka PHP. Resep: [[/integrations/connect/quickstart/]].
Cara tautan resep di-resolve
Bagian berjudul “Cara tautan resep di-resolve”Setiap placeholder [[…]] di atas adalah referensi maju ke halaman yang ditulis di repositori integrasi tersebut di bawah docs/public/ dan ditarik ke situs ini oleh agregator. Slug target mengikuti satu konvensi:
/integrations/<integration>/<recipe>/Token <integration> adalah nama pendek yang diambil langsung dari tabel referensi paket dan batasan core di atas. Setiap baris dalam tabel itu menyediakan satu nama pendek. Resep pertama yang dirilis untuk setiap integrasi diberi nama quickstart; resep berikutnya menggunakan segmen <recipe> tambahan di bawah root <integration> yang sama. Hingga sebuah halaman target diagregasikan, tautannya tetap berupa placeholder dan tidak akan di-resolve. Indeks ini tidak membuat klaim perilaku apa pun tentang halaman target mana pun. Indeks ini hanya mencatat fakta paket yang diverifikasi dari composer.json dan slug yang akan ditempati oleh resep masing-masing repositori.
Lihat juga
Bagian berjudul “Lihat juga”- Memilih integrasi — matriks keputusan yang memetakan kasus penggunaan ke integrasi.
- Konvensi resep — kontrak yang diikuti oleh setiap resep yang dapat dijalankan dalam cookbook ini.