Lewati ke konten

Memilih integrasi

Gunakan halaman ini untuk mencocokkan kasus penggunaan Anda dengan integrasi yang sesuai. Setiap rekomendasi hanya berasal dari deskripsi composer.json paket dan tujuan yang dinyatakannya; keduanya dibaca langsung dari repositori sumber. Ketika dua integrasi saling tumpang tindih, halaman ini menjelaskan faktor pembeda agar Anda dapat memilih dengan yakin.

Temukan baris yang sesuai dengan situasi Anda, lalu mulailah dari sana.

Anda memiliki …GunakanAlasan (tujuan terverifikasi)
Aplikasi Laravel 12nextpdf/laravelIntegrasi framework Laravel: service provider, facade, dan helper respons Portable Document Format (PDF).
Aplikasi Symfony 7nextpdf/symfonyBundle Symfony: layanan dependency injection (DI) dan helper respons PDF.
Aplikasi CodeIgniter 4nextpdf/codeigniterLayanan CodeIgniter 4, wrapper pustaka, dan helper respons PDF.
Aplikasi PHP tanpa frameworknextpdf/core secara langsungAnda tidak memerlukan integrasi framework; mesin ini adalah pustaka biasa.
HTML yang memerlukan mesin Cascading Style Sheets (CSS) peramban, dan Anda dapat menjalankan Chromenextpdf/artisanRenderer berbasis Chrome DevTools Protocol (CDP) untuk HTML yang memerlukan tata letak CSS setara peramban.
Dokumen Office yang akan dikonversi, seperti DOCX, XLSX, atau ODTnextpdf/gotenbergKonversi Office-ke-PDF melalui mikrolayanan Gotenberg.
Kebutuhan untuk merender tanpa perlu menjalankan proses perambannextpdf/cloudflareRendering serverless melalui Cloudflare Browser Rendering API di edge.
Kode yang ditulis untuk pustaka PDF lawasnextpdf/compat-legacyLapisan kompatibilitas pustaka PDF lawas; panggil NextPDF tanpa menulis ulang titik pemanggilan.
Runtime yang terkunci pada PHP 8.1 / 7.4nextpdf/backport-builderPipeline penurunan versi Rector yang membangun target 8.1 / 7.4 dari mesin.
Pemanggil jarak jauh, bahasa lain, atau sistem kecerdasan buatan (AI)nextpdf/serverNextPDF Connect: antarmuka Representational State Transfer (REST), gRPC, dan Model Context Protocol untuk eksekusi jarak jauh.

Merender HTML ke PDF: Artisan vs Gotenberg vs Cloudflare vs core

Bagian berjudul “Merender HTML ke PDF: Artisan vs Gotenberg vs Cloudflare vs core”

Ketiga jembatan renderer mengubah markup menjadi PDF. Perbedaannya terletak pada cara kerja, bukan pada kualitasnya. Gunakan perbedaan operasional tersebut sebagai faktor penentu.

  • nextpdf/artisan menjalankan Chrome headless melalui Chrome DevTools Protocol. Integrasi ini memerlukan proses Chrome yang dapat dijangkau oleh aplikasi. Pilih opsi ini ketika Anda dapat menjalankan proses tersebut dan dokumen memerlukan mesin CSS peramban.
  • nextpdf/gotenberg memanggil mikrolayanan Gotenberg di luar proses melalui HTTP. Pilih opsi ini ketika proses rendering harus diisolasi dalam layanan tersendiri, atau ketika masukannya adalah dokumen Office. Gotenberg adalah satu-satunya dari ketiganya yang tujuan dinyatakannya mencakup Office-ke-PDF.
  • nextpdf/cloudflare memanggil Cloudflare Browser Rendering API. Pilih opsi ini ketika Anda menginginkan rendering edge/serverless tanpa proses peramban yang harus dijalankan atau ditambal.
  • Pipeline HTML inti NextPDF dalam proses tidak memerlukan satu pun dari opsi di atas. Gunakan jembatan renderer hanya ketika pipeline dalam proses tidak dapat menyediakan fidelitas tata letak atau isolasi proses yang dibutuhkan dokumen. Jembatan tersebut sengaja mendelegasikan langkah itu; ini bukan jalur baku.

Kedua jembatan HTTP (nextpdf/gotenberg, nextpdf/cloudflare) memerlukan klien HTTP PSR-18 yang disediakan oleh host. Resep masing-masing memperlakukan kegagalan transport dan status HTTP yang tidak berhasil sebagai hasil terpisah.

nextpdf/gotenberg adalah integrasi yang deskripsi composer.json terverifikasinya menyebutkan konversi Office-ke-PDF. Jembatan renderer lainnya menjelaskan rendering HTML, bukan masukan Office. Jika sumbernya adalah DOCX/XLSX/ODT, gunakan integrasi ini.

Berdasarkan tujuan yang dinyatakannya, nextpdf/compat-legacy adalah lapisan kompatibilitas untuk basis kode yang ditulis untuk pustaka PDF lawas. Lapisan ini memungkinkan titik pemanggilan yang sudah ada mengakses NextPDF sebelum Anda menulisnya ulang. Perlakukan integrasi ini sebagai alat bantu migrasi dengan rencana penghapusan, bukan sebagai dependensi runtime permanen. Kode baru sebaiknya memanggil nextpdf/core (atau integrasi framework yang relevan) secara langsung.

Setiap paket dalam ekosistem mendeklarasikan PHP >=8.4 <9.0. nextpdf/backport-builder ada justru untuk kendala ini: tujuan yang dinyatakannya adalah pipeline penurunan versi Rector yang membangun artefak PHP 8.1+ (dan target 7.4). Ini adalah alat build, bukan dependensi runtime untuk aplikasi Anda. Jalankan builder untuk menghasilkan mesin yang sudah di-backport, lalu terapkan mesin tersebut.

nextpdf/server (NextPDF Connect) mengekspos mesin melalui REST API, layanan gRPC, dan Model Context Protocol. Pilih opsi ini ketika pemanggilnya berada di jarak jauh, ditulis dalam bahasa lain, atau merupakan sistem AI yang mengonsumsi endpoint alat alih-alih pustaka PHP. Aplikasi PHP dalam proses yang sama sebaiknya menggunakan nextpdf/core atau integrasi framework alih-alih menambahkan hop jaringan.

Menggunakan lebih dari satu integrasi secara bersamaan

Bagian berjudul “Menggunakan lebih dari satu integrasi secara bersamaan”

Integrasi framework dan jembatan renderer bekerja pada lapisan yang berbeda, sehingga Anda dapat memasang keduanya. Integrasi framework menangani wiring kontainer dan respons HTTP; jembatan renderer menangani backend rendering. Saat melakukan resolusi terhadap kumpulan dependensi gabungan, periksa versi nextpdf/core mana yang diterima oleh setiap paket. Referensi kendala-inti dalam indeks cookbook integrasi adalah sumber kebenarannya. Resep per-kombinasi berada di repositori yang relevan dan tertaut dari indeks tersebut.

  • Buku resep integrasi — referensi paket dan kendala-inti, beserta indeks tautan resep.
  • Konvensi resep — kontrak yang diikuti oleh setiap resep yang dapat dijalankan.