Basis pengetahuan untuk pemecahan masalah
Cakupan basis pengetahuan ini
Bagian berjudul “Cakupan basis pengetahuan ini”Gunakan basis pengetahuan ini untuk memetakan kegagalan yang Anda temui ke penyebab dan penyelesaiannya. Setiap entri bersumber dari kelas eksepsi mesin itu sendiri, pengujian jalur kegagalan, dan guard di kode sumber, bukan spekulasi. Jika mesin tidak memiliki jalur kode untuk suatu kegagalan, basis pengetahuan ini tidak akan mengada-adakannya.
Basis pengetahuan ini mencakup empat halaman topik berikut:
- Validasi tanda tangan — tanda tangan yang tidak valid, rantai yang tidak lengkap, pencabutan yang tidak diketahui, dan kegagalan stempel waktu.
- Validasi PDF/A dan PDF/UA — masalah Portable Document Format/Archive (PDF/A) dan Portable Document Format/Universal Accessibility (PDF/UA), termasuk output intent yang hilang, konten tanpa penandaan, bahasa yang hilang, dan kegagalan fon tertanam.
- Fon dan penandaan — fon yang tidak ditemukan, subsetting, cakupan CJK, dan masalah pohon struktur.
- Enkripsi dan izin — kegagalan dekripsi dan batasan flag izin.
Cara membaca entri
Bagian berjudul “Cara membaca entri”Setiap entri memiliki lima bagian:
- Gejala — apa yang Anda lihat: kelas eksepsi, potongan pesan, atau putusan validator hilir.
- Kemungkinan penyebab — kondisi masukan atau konfigurasi yang dilaporkan mesin.
- Bukti / diagnosis — cara memastikan penyebabnya. Bagian ini menyebut kelas eksepsi yang tepat, bidang
getContext(), atau pengujian yang menunjukkan perilakunya, sehingga Anda dapat memverifikasinya alih-alih menebak. - Penyelesaian — langkah-langkah berurutan untuk menghilangkan penyebabnya.
- Terkait — halaman referensi modul atau entri sejenis untuk dibaca berikutnya.
Mengidentifikasi kegagalan berdasarkan jenis eksepsi
Bagian berjudul “Mengidentifikasi kegagalan berdasarkan jenis eksepsi”NextPDF mengidentifikasi kesalahan berdasarkan kelas PHP-nya, bukan berdasarkan kode kesalahan berupa string. Tidak ada konstanta NPDF-#### di dalam kelas eksepsi. Tangkap eksepsi daun ketika Anda memerlukan respons yang terarah, dan baca ContextAwareExceptionInterface::getContext() untuk mendapatkan bidang diagnostik terstruktur. Gunakan NextPDF\Exception\NextPdfException sebagai tipe dasar; kegagalan keamanan juga menggunakan NextPDF\Security\Exception\SecurityException.
Untuk hierarki lengkap dan aturan urutan penangkapan, lihat referensi eksepsi.
<?php
declare(strict_types=1);
use NextPDF\Exception\NextPdfException;use NextPDF\Contracts\ContextAwareExceptionInterface;
try { // ... engine call ...} catch (NextPdfException $e) { $context = $e instanceof ContextAwareExceptionInterface ? $e->getContext() : []; \error_log($e->getMessage()); // $context carries snake_case primitive fields safe to serialize.}Cakupan dan batasan
Bagian berjudul “Cakupan dan batasan”Basis pengetahuan ini mencakup cara mesin mendeteksi dan melaporkan kegagalan. Basis ini tidak mencakup putusan kesesuaian dari validator eksternal, seperti veraPDF atau callas; alat-alat tersebut menerapkan kumpulan aturan masing-masing. Saat mesin menolak suatu operasi agar dokumen tetap berada dalam profil tertentu, seperti menolak enkripsi di bawah PDF/A, entri terkait mengutip klausul yang mengaturnya dan eksepsi yang menegakkannya.
Lihat juga
Bagian berjudul “Lihat juga”- Referensi eksepsi — hierarki lengkap, urutan penangkapan, dan kontrak
getContext() - Referensi kesesuaian — pemeriksa profil PDF/A, PDF/UA, dan PDF/X
Glosarium: eksepsi sadar konteks