Lewati ke konten

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.

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.

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.

IntegrasiPaketBentukBatasan coreResep
Laravelnextpdf/laravelframework^3.0 || ^5.2Quickstart Laravel [[/integrations/laravel/quickstart/]]
Symfonynextpdf/symfonyframework^3.0 || ^5.2Quickstart Symfony [[/integrations/symfony/quickstart/]]
CodeIgniter 4nextpdf/codeigniterframework^3.0 || ^5.2Quickstart CodeIgniter [[/integrations/codeigniter/quickstart/]]
Artisan (Chrome)nextpdf/artisanJembatan renderer^3.0 || ^5.2Quickstart Artisan [[/integrations/artisan/quickstart/]]
Gotenbergnextpdf/gotenbergJembatan renderer^3.0Quickstart Gotenberg [[/integrations/gotenberg/quickstart/]]
Cloudflarenextpdf/cloudflareJembatan renderer^3.0Quickstart Cloudflare [[/integrations/cloudflare/quickstart/]]
Compat (legacy)nextpdf/compat-legacyshim kompatibilitas^3.0Quickstart Compat-legacy [[/integrations/compat-legacy/quickstart/]]
Backport buildernextpdf/backport-builderAlat buildtidak berlakuQuickstart Backport [[/integrations/backport/quickstart/]]
Connect (server)nextpdf/serverLayanan jaringan^3.0Quickstart 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.

  • 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 respons symfony/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/]].
  • 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/]].
  • 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/]].
  • 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/]].
  • 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/]].

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.

  • Memilih integrasi — matriks keputusan yang memetakan kasus penggunaan ke integrasi.
  • Konvensi resep — kontrak yang diikuti oleh setiap resep yang dapat dijalankan dalam cookbook ini.