Menginstal NextPDF compat-legacy
Sekilas
Bagian berjudul “Sekilas”nextpdf/compat-legacy adalah pustaka Composer. Pustaka ini memerlukan PHP 8.4 atau lebih baru dan nextpdf/core ^3.0. Instal pustaka ini untuk menambahkan kelas kompatibilitas yang dapat Anda alihkan; panggilan TCPDF yang sudah ada tetap tidak berubah.
Persyaratan
Bagian berjudul “Persyaratan”| Dependensi | Versi | Sumber rujukan |
|---|---|---|
| PHP | >=8.4 <9.0 | paket composer.jsonrequire.php |
nextpdf/core | ^3.0 | paket composer.jsonrequire |
| Composer | 2.7 atau lebih baru | baseline toolchain |
Paket ini menyertakan rangkaian pengujiannya sendiri dan mendeklarasikan PHPStan Level 10 tanpa baseline. Paket ini memerlukan PHP 8.4 saat runtime. Mesin NextPDF yang lebih luas mendukung PHP 8.1 hingga 8.4 pada jalur backport, tetapi adaptor ini menetapkan PHP 8.4 sebagai batas minimum.
Pemasangan
Bagian berjudul “Pemasangan”Gunakan Composer untuk menambahkan paket:
composer require nextpdf/compat-legacy:^3.0Composer akan menyelesaikan nextpdf/core ^3.0 sebagai dependensi transitif. Set fitur inti tidak memerlukan ekstensi runtime lain.
Metadata paket juga menerima nama historis
nextpdf/compat-tcpdfmelalui entrireplaceComposer. Pemasangan baru sebaiknya menggunakannextpdf/compat-legacy, nama paket kanonis.
Verifikasi pemasangan
Bagian berjudul “Verifikasi pemasangan”Setelah pemasangan, pastikan kelas adaptor termuat dan tautan ke mesin terselesaikan. Pemeriksaan berikut membuat satu halaman Portable Document Format (PDF) sepenuhnya di dalam memori dan memverifikasi header PDF. Pemeriksaan ini menguji permukaan yang sama dengan yang diverifikasi oleh pengujian paket tests/Unit/Compat/Tcpdf/TcpdfOutputTest.php.
<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use NextPDF\Compat\Tcpdf\TCPDF;
$pdf = new TCPDF('P', 'mm', 'A4');$pdf->AddPage();$pdf->SetFont('helvetica', '', 12);$pdf->Cell(0, 10, 'compat-legacy install verified');
$bytes = $pdf->Output('verify.pdf', 'S');
if (! str_starts_with($bytes, '%PDF')) { fwrite(STDERR, "Install check failed: output is not a PDF.\n"); exit(1);}
echo "OK: adapter loaded, engine linked, PDF produced (" . strlen($bytes) . " bytes).\n";Jalankan:
php examples/install-verify.phpKeluaran yang diharapkan adalah satu baris OK:. Awalan %PDF pada string yang dikembalikan memastikan bahwa adaptor telah membangun NextPDF\Core\Document, mendelegasikan panggilan halaman dan teks, serta menserialisasi keluaran PDF 2.0 yang valid.
Verifikasi versi mesin
Bagian berjudul “Verifikasi versi mesin”Adaptor ini memerlukan nextpdf/core ^3.0. Pastikan versi yang diselesaikan oleh Composer:
composer show nextpdf/core --format=jsonJika Composer menyelesaikan versi core di luar ^3.0, adaptor akan gagal lebih awal saat konstruksi, alih-alih menghasilkan keluaran yang salah. Sematkan mesin secara eksplisit di composer.json Anda jika proyek Anda juga bergantung padanya secara langsung.
Opsional: alias kelas global
Bagian berjudul “Opsional: alias kelas global”Jika basis kode Anda memanggil new \TCPDF(...) di namespace global dan Anda belum dapat mengubah baris use/require tersebut, paket ini dapat mendaftarkan alias global. Perilaku ini bersifat opt-in dan dijelaskan di /integrations/tcpdf-compat/boot-and-discovery/. Jangan aktifkan jika pustaka TCPDF asli juga terpasang dalam proses yang sama; lihat /integrations/tcpdf-compat/troubleshooting/ untuk aturan penghindaran konflik.
Hal yang tidak dilakukan pemasangan
Bagian berjudul “Hal yang tidak dilakukan pemasangan”- Pemasangan tidak mengubah atau menghapus dependensi TCPDF yang sudah ada. Hapus
tecnickcom/tcpdfhanya sebagai langkah lanjutan yang disengaja di /integrations/tcpdf-compat/migration/. - Pemasangan tidak mengaktifkan tanda tangan digital atau PDF/A. Fitur-fitur tersebut memerlukan edisi NextPDF komersial (lihat /integrations/tcpdf-compat/security-and-operations/).
- Pemasangan tidak mengubah target keluaran PDF. Keluaran selalu PDF 2.0.
Langkah berikutnya
Bagian berjudul “Langkah berikutnya”- /integrations/tcpdf-compat/quickstart/ — buat dokumen nyata pertama Anda.
- /integrations/tcpdf-compat/configuration/ — konfigurasikan mode ketat dan adaptor.
- /integrations/tcpdf-compat/migration/ — gunakan strategi migrasi berkas demi berkas.
- /integrations/tcpdf-compat/method-coverage/ — lihat dengan tepat apa yang dilakukan setiap metode TCPDF di sini.
Lihat juga
Bagian berjudul “Lihat juga”composer.jsonpaket — batasan dependensi yang otoritatifdocs/TCPDF_COVERAGE.md— matriks cakupan yang otoritatif (di dalam repo)