Migrasi ke NextPDF
NextPDF adalah mesin Portable Document Format (PDF) 2.0 untuk PHP. Jika Anda sudah membuat PDF dengan pustaka lain, panduan migrasi memetakan application programming interface (API) pustaka tersebut ke NextPDF dan mendokumentasikan perbedaan perilaku yang akan Anda temui. Indeks lintas-repositori ini mencatat pustaka asal yang dicakup tiap panduan, repositori pemiliknya, dan model bersama yang digunakan setiap panduan.
Karena berupa indeks, halaman ini tidak membuat klaim tentang perilaku panduan mana pun. Setiap panduan dimiliki oleh repositorinya sendiri, dan agregator menerbitkannya ke situs ini. Setiap klaim perilaku berada di dalam panduan itu sendiri, didukung oleh pengujian dalam repositori atau klausa ISO 32000-2 / Cascading Style Sheets Working Group (CSS WG) yang ditetapkan, bukan di sini.
Satu model migrasi
Bagian berjudul “Satu model migrasi”Setiap panduan migrasi NextPDF menggunakan model transparan yang sama. Bacalah setiap panduan dengan mengingat model tersebut:
- Kompatibel dengan, bukan identik secara bita. NextPDF dan pustaka yang Anda tinggalkan adalah implementasi independen. Dokumen yang dimigrasikan mempertahankan maksud fungsional, bukan identitas pada tingkat piksel atau bita. Tidak ada panduan yang mengklaim penggantian langsung (drop-in) atau kompatibilitas 100%.
- Cakupan adalah hitungan terukur, bukan pernyataan sepihak. Ketika sebuah panduan menyatakan angka cakupan, seperti angka adaptor TCPDF, angka tersebut adalah metrik kelengkapan fungsional yang diambil dari matriks dalam repositori, dalam pengertian ISO/IEC 25023 klausa 43. Angka itu adalah hitungan terukur dari metode yang tercakup, bukan jaminan menyeluruh.
- Setiap panduan menyatakan perbedaan perilakunya secara terbuka. Setiap panduan menyertakan tabel perbedaan yang eksplisit dan bagian “tidak didukung / tanpa padanan langsung”. Perbedaan adalah properti mesin yang terdokumentasi, bukan cacat.
- Perubahan renderer memerlukan tinjauan ulang. Migrasi mengubah kode dan memerlukan baseline keluaran baru. Setiap panduan menjelaskan cara menguji migrasi; penerimaan visual bersifat per-dokumen dan tetap menjadi tanggung jawab integrator.
Bentuk-bentuk migrasi
Bagian berjudul “Bentuk-bentuk migrasi”Panduan-panduan tersebut terbagi dalam dua bentuk. Setiap bentuk menunjukkan seberapa besar perubahan kode yang diperlukan.
- Migrasi penulisan ulang API tidak menyediakan shim kompatibilitas: setiap lokasi pemanggilan ditulis ulang menggunakan pemetaan verba dan peta opsi dari panduan. Migrasi pustaka Hypertext Markup Language (HTML)-ke-PDF (
dompdf,mpdf) menggunakan bentuk ini; keduanya menargetkan pipeline Html NextPDF secara langsung. - Migrasi pasang-langsung-lalu-migrasikan menyertakan adaptor yang hampir kompatibel pada tingkat sumber, sehingga langkah awalnya hanya penggantian dependensi yang minimal. Dari sana, Anda memigrasikan lokasi pemanggilan ke API modern secara bertahap, lalu menonaktifkan adaptor. Migrasi TCPDF menggunakan bentuk ini, melalui adaptor
nextpdf/compat-legacy.
Referensi panduan dan repositori pemilik
Bagian berjudul “Referensi panduan dan repositori pemilik”Setiap panduan di bawah ini berada di docs/public/ milik repositori pemilik, dan agregator menariknya ke situs ini. Repositori pemilik adalah otoritas untuk klaim perilaku panduan tersebut; indeks ini hanya mencatat perutean.
| Dari | Panduan | Bentuk | Repositori pemilik | Halaman |
|---|---|---|---|---|
| Dompdf | Dompdf → pipeline Html NextPDF | Penulisan ulang API | nextpdf (inti) | Panduan Dompdf |
| mPDF | mPDF → inti NextPDF | Penulisan ulang API | nextpdf (inti) | Panduan mPDF |
| FPDF | FPDF → inti NextPDF | Penulisan ulang API | nextpdf (inti) | Panduan FPDF |
| TCPDF 6.x | TCPDF → NextPDF melalui adaptor compat-legacy | Pasang-langsung-lalu-migrasikan | Repositori nextpdf-compat-tcpdf, paket nextpdf/compat-legacy | Panduan TCPDF |
Panduan dompdf, mpdf, dan fpdf berada di repositori inti karena ketiganya menargetkan API mesin inti, dan didukung oleh examples/ inti. Panduan tcpdf-compat berada di repositori compat-tcpdf karena paket nextpdf/compat-legacy memiliki permukaan perilaku TCPDF dan pengujian adaptor yang mendukung panduan tersebut. Indeks ini berada langsung di repositori dokumentasi karena mencakup beberapa repositori, dan tidak membuat klaim tentang perilaku panduan individual mana pun.
Untuk apa setiap panduan
Bagian berjudul “Untuk apa setiap panduan”- Dompdf → NextPDF — untuk basis kode yang menggunakan
dompdf/dompdfdi sisi server. Panduan ini memetakanloadHtml/render/outputdan kunciOptionske pipeline Html NextPDF, lalu menyerahkan ekspektasi fitur CSS ke matriks dukungan CSS yang hanya mencantumkan status terverifikasi. Tidak ada shim kelas Dompdf; Anda menulis ulang setiap lokasi pemanggilan. - mPDF → NextPDF — untuk basis kode yang menggunakan
mpdf/mpdf. Panduan ini memetakanWriteHTML/Output/AddPagedan larik konfigurasi konstruktor ke API inti, dengan satu perbedaan dalam penanganan huruf: NextPDF menyelesaikan resolusi huruf melalui satu direktori huruf beserta pencocokan CSS, dan selalu melakukan subset. Tidak ada shim kelas Mpdf. - FPDF → NextPDF — untuk basis kode yang menggunakan API menggambar FPDF secara langsung. Panduan ini memetakan
AddPage/SetFont/Cell/MultiCell/Write/Text/Image/Outputdan model kursor manual ke API inti serta mendokumentasikan perbedaan satuan. Tidak ada shim kelas FPDF. - TCPDF → NextPDF (compat-legacy) — untuk basis kode TCPDF 6.x yang menginginkan perubahan awal sekecil mungkin. Pasang adaptor, audit permukaan penggunaan nyata Anda dengan mode ketat terhadap matriks cakupan dalam repositori, migrasikan lokasi pemanggilan keluar dari adaptor, lalu tambahkan struktur bertanda PDF/Universal Accessibility (PDF/UA-2) di atasnya, sebuah kapabilitas yang tidak pernah dimiliki TCPDF. Adaptor adalah perancah, bukan tujuan akhir, dan bukan jaminan pasang-langsung (drop-in).
Lihat juga
Bagian berjudul “Lihat juga”- Matriks dukungan CSS — rujukan yang hanya mencantumkan status terverifikasi untuk ekspektasi fitur CSS dalam panduan
dompdfdanmpdf. - Buku resep integrasi — indeks lintas-repositori untuk paket integrasi ekosistem. Topiknya berbeda: menghubungkan mesin, bukan bermigrasi ke dalamnya.