Buku resep 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 quickstart untuk tiap integrasi.
Karena halaman ini berupa indeks, halaman ini tidak membuat klaim perilaku apa pun tentang integrasi mana pun. Repositori masing-masing integrasi memiliki resepnya sendiri, dan agregator memublikasikannya ke situs ini. 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 |
| Symfony | nextpdf/symfony | framework | ^3.0 || ^5.2 | Quickstart Symfony |
| CodeIgniter 4 | nextpdf/codeigniter | framework | ^3.0 || ^5.2 | Quickstart CodeIgniter |
| Artisan (Chrome) | nextpdf/artisan | Jembatan renderer | ^3.0 || ^5.2 | Quickstart Artisan |
| Gotenberg | nextpdf/gotenberg | Jembatan renderer | ^3.0 | Quickstart Gotenberg |
| Cloudflare | nextpdf/cloudflare | Jembatan renderer | ^3.0 | Quickstart Cloudflare |
| Compat (legacy) | nextpdf/compat-legacy | shim kompatibilitas | ^3.0 | Quickstart TCPDF-compat |
| Backport builder | nextpdf/backport-builder | Alat build | tidak berlaku | Quickstart Backport |
| Connect (server) | nextpdf/server | Layanan jaringan | ^3.0 | Quickstart Connect |
NextPDF mendistribusikan nextpdf/server dengan nama produk NextPDF Connect; resepnya berada di bawah slug connect tingkat atas. nextpdf/compat-legacy dirilis dari keluarga compat; resepnya berada di bawah slug tcpdf-compat, dinamai sesuai antarmuka yang ditirunya.
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: Quickstart Laravel.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: Quickstart Symfony.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: Quickstart CodeIgniter.
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: Quickstart Artisan.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: Quickstart Gotenberg.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: Quickstart Cloudflare.
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: Quickstart TCPDF-compat.
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: Quickstart Backport.
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: Quickstart Connect.
Cara slug resep diatur
Bagian berjudul “Cara slug resep diatur”Resep berada di bawah /integrations/<integration>/<recipe>/, dengan <integration> merupakan nama pendek dari tabel referensi di atas (resep Connect justru berada di bawah slug connect tingkat atas). Resep pertama yang dirilis setiap integrasi diberi nama quickstart; resep berikutnya menggunakan segmen <recipe> tambahan di bawah root yang sama. 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 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.