Lewati ke konten

Panduan migrasi

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 halaman ini berupa indeks, halaman ini tidak membuat klaim tentang perilaku panduan mana pun. Setiap panduan dimiliki oleh repositorinya sendiri. Agregator menarik panduan tersebut ke situs ini, dan hingga panduan tersedia, tautannya mengarah ke placeholder. 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.

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.

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.

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.

DariPanduanBentukRepositori pemilikHalaman
DompdfDompdf → pipeline Html NextPDFPenulisan ulang APInextpdf (inti)Panduan Dompdf dompdf (direncanakan di hulu)
mPDFmPDF → inti NextPDFPenulisan ulang APInextpdf (inti)Panduan mPDF mpdf (direncanakan di hulu)
TCPDF 6.xTCPDF → NextPDF melalui adaptor compat-legacyPasang-langsung-lalu-migrasikanRepositori nextpdf-compat-tcpdf, paket nextpdf/compat-legacyPanduan TCPDF tcpdf-compat (direncanakan di hulu)

Panduan dompdf dan mpdf berada di repositori inti karena keduanya 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.

  • Dompdf → NextPDF (dompdf (direncanakan di hulu)) — untuk basis kode yang menggunakan dompdf/dompdf di sisi server. Panduan ini memetakan loadHtml/render/output dan kunci Options ke 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 (mpdf (direncanakan di hulu)) — untuk basis kode yang menggunakan mpdf/mpdf. Panduan ini memetakan WriteHTML/Output/AddPage dan larik konfigurasi konstruktor ke API inti, dengan satu perbedaan dalam penanganan huruf: NextPDF menyelesaikan resolusi huruf melalui satu direktori huruf tunggal beserta pencocokan CSS, dan selalu melakukan subset. Tidak ada shim kelas Mpdf.
  • TCPDF → NextPDF (compat-legacy) (tcpdf-compat (direncanakan di hulu)) — 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).

Setiap placeholder [[…]] di atas mengarah ke halaman mendatang yang berada di repositori pemilik di bawah docs/public/migration/, dan agregator menarik halaman tersebut ke situs ini. Slug target mengikuti satu konvensi:

/migration/<source>/

Token <source> adalah nama singkat pustaka yang Anda migrasikan: salah satu dari dompdf, mpdf, atau tcpdf-compat, sebagaimana tercantum dalam tabel referensi panduan di atas. Hingga halaman target diagregasi, tautannya tetap berupa placeholder dan belum teratasi. Indeks ini tidak membuat klaim tentang perilaku panduan target mana pun; indeks ini hanya mencatat perutean dan model migrasi bersama.

  • Matriks dukungan CSS — rujukan yang hanya mencantumkan status terverifikasi untuk ekspektasi fitur CSS dalam panduan dompdf dan mpdf.
  • Buku resep integrasi — indeks lintas-repositori untuk paket integrasi ekosistem. Topiknya berbeda: menghubungkan mesin, bukan bermigrasi ke dalamnya.