Buku resep PHP
Buku resep PHP
Bagian berjudul “Buku resep PHP”Indeks ini mencantumkan resep NextPDF berbasis PHP: halaman yang berfokus pada tugas, dapat dijalankan, dan menggunakan API PHP inti secara langsung. Setiap resep di bawah docs/public/cookbook/php/ dimiliki dan diverifikasi oleh repositori inti nextpdf. Setiap resep memiliki skrip examples/*.php dan rangka uji tests/Cookbook/Php/. Agregator kemudian menarik setiap halaman ke situs ini dan mempertahankan asal sumbernya.
Karena ini adalah indeks, halaman ini tidak membuat klaim perilaku tentang resep apa pun. Setiap baris mencatat tujuan setiap resep, modul inti yang digunakan, dan profil reproduktivitas yang dideklarasikan. Profil dan klaim kesesuaian apa pun merupakan bagian dari halaman resep itu sendiri. Nilai tersebut berasal dari front-matter halaman tersebut dan ujinya di dalam repositori, bukan dari indeks ini. Untuk cookbook integrasi (framework / renderer / layanan), lihat Buku resep integrasi. Untuk kontrak yang diikuti setiap resep yang dapat dijalankan, lihat Konvensi resep.
Cara tautan resep diuraikan
Bagian berjudul “Cara tautan resep diuraikan”Setiap [[…]] di bawah ini adalah rujukan ke depan ke halaman yang ditulis di repositori inti di bawah docs/public/cookbook/php/. Agregator kemudian menarik halaman tersebut ke situs ini. Setiap slug mengikuti satu konvensi: satu segmen.
/cookbook/php/<recipe>/<recipe> menamai tujuan resep dalam kebab-case (misalnya render-html-to-pdf, bukan nama modul html). Slug ini menggunakan huruf kecil, dipisahkan dengan tanda hubung, tidak berisi nomor versi, dan diakhiri dengan satu garis miring penutup. Sampai halaman target diagregasi, tautannya hanya berfungsi sebagai penampung dan belum terurai. Resep yang belum memiliki contoh yang dapat dijalankan (lihat daftar celah di bawah) belum dapat dipublikasikan sampai contoh dan rangka ujinya tersedia, meskipun tautannya sudah mengarah ke slug final.
Profil reproduktivitas, dalam satu baris
Bagian berjudul “Profil reproduktivitas, dalam satu baris”Setiap resep mendeklarasikan profil paling ketat yang dapat dipenuhi secara jujur:
- bitwise — identik secara bita pada setiap eksekusi (konten deterministik biasa dengan seluruh entropi disematkan).
- structural — identik setelah atom volatil dinormalkan (trailer
/ID, tanggal creation/modification, awalan subset font — dalam praktiknya, setiap PDF multiobjek). - semantic — hanya menjamin kesetaraan AST struktural ditambah metadata (keluaran yang ditandatangani atau diberi stempel waktu, atau keluaran yang kesetaraannya memang tidak stabil secara bita).
Halaman resep membuktikan profilnya melalui rangka ujinya. Indeks ini hanya melaporkan nilai yang dideklarasikan halaman tersebut.
Resep yang sudah diagregasi
Bagian berjudul “Resep yang sudah diagregasi”Repositori inti saat ini sudah memuat dan menggabungkan lima resep berikut: kumpulan Wave 8.
| Resep | Fungsinya | Modul | Profil |
|---|---|---|---|
sign-pades (direncanakan di hulu) | Terapkan tanda tangan baseline CMS/PAdES dengan kunci perangkat lunak | Security | semantic |
encrypt-aes256 (direncanakan di hulu) | Enkripsi dengan AES-256 dan atur bendera izin | Security | structural |
pdfa4-conformance-gate (direncanakan di hulu) | Hasilkan keluaran PDF/A-4 dan terapkan gerbang pada validator eksternal | Conformance | semantic |
accessible-pdfua2-from-html (direncanakan di hulu) | Hasilkan struktur bertag untuk penulisan PDF/UA-2 yang dapat diakses | Accessibility | semantic |
validate-signature (direncanakan di hulu) | Periksa apakah PDF memiliki tanda tangan, serta batas kepercayaannya | Inspect | semantic |
Fondasi
Bagian berjudul “Fondasi”Buat dokumen, atur halaman, dan tata gayanya.
| Resep | Fungsinya | Modul | Profil |
|---|---|---|---|
render-html-to-pdf (direncanakan di hulu) | Render dokumen HTML menjadi PDF | Html | structural |
style-with-css (direncanakan di hulu) | Terapkan CSS pada hasil render HTML | Html | structural |
html-table-layout (direncanakan di hulu) | Atur tata letak tabel HTML | Html | structural |
paginate-long-html (direncanakan di hulu) | Paginasi dokumen HTML yang panjang | Html | structural |
compose-text-and-fonts (direncanakan di hulu) | Susun teks dengan kendali tipografi | Typography | structural |
embed-and-subset-fonts (direncanakan di hulu) | Sematkan dan buat subset font | Font | structural |
cjk-vertical-writing (direncanakan di hulu) | Atur teks CJK dalam mode penulisan vertikal | Typography | structural |
multi-page-document (direncanakan di hulu) | Buat dokumen multihalaman | Document | structural |
headers-and-footers (direncanakan di hulu) | Tambahkan header dan footer berjalan | Layout | structural |
Grafik dan konten
Bagian berjudul “Grafik dan konten”Bekerja dengan vektor, gambar, lapisan, dan ruang koordinat.
| Resep | Fungsinya | Modul | Profil |
|---|---|---|---|
draw-vector-graphics (direncanakan di hulu) | Gambar grafis vektor | Graphics | structural |
gradients-and-transparency (direncanakan di hulu) | Terapkan gradien dan transparansi | Graphics | structural |
embed-images (direncanakan di hulu) | Sematkan gambar raster | Content | structural |
optional-content-layers (direncanakan di hulu) | Gunakan konten opsional (lapisan) | Graphics | structural |
transform-coordinate-space (direncanakan di hulu) | Transformasikan ruang koordinat | Graphics | structural |
Navigasi dan formulir
Bagian berjudul “Navigasi dan formulir”Tambahkan markah, tautan, anotasi, dan bidang AcroForm.
| Resep | Fungsinya | Modul | Profil |
|---|---|---|---|
bookmarks-and-toc (direncanakan di hulu) | Buat markah dan daftar isi | Navigation | structural |
links-and-annotations (direncanakan di hulu) | Tambahkan tautan dan anotasi | Navigation | structural |
generate-barcodes (direncanakan di hulu) | Hasilkan kode batang | Barcode | bitwise |
fill-pdf-form (direncanakan di hulu) | Isi AcroForm | Form | structural |
flatten-form-fields (direncanakan di hulu) | Ratakan bidang formulir | Form | structural |
Informasi dokumen
Bagian berjudul “Informasi dokumen”Atur metadata dan perilaku penampil.
| Resep | Fungsinya | Modul | Profil |
|---|---|---|---|
set-document-metadata (direncanakan di hulu) | Atur metadata dokumen | Metadata | structural |
set-viewer-preferences (direncanakan di hulu) | Atur preferensi penampil | Document | structural |
Keamanan, tanda tangan, dan kesesuaian
Bagian berjudul “Keamanan, tanda tangan, dan kesesuaian”Gunakan enkripsi, penandatanganan, aksesibilitas, dan keluaran berprofil. Resep-resep ini menjaga batas support≠conformance dan presence≠validity pada halaman resep.
| Resep | Fungsinya | Modul | Profil |
|---|---|---|---|
encrypt-with-permissions (direncanakan di hulu) | Enkripsi dengan bendera izin | Security | structural |
sign-pades-b-b (direncanakan di hulu) | Terapkan tanda tangan PAdES (B-B dan B-T) | Security | semantic |
inspect-existing-signature (direncanakan di hulu) | Periksa tanda tangan yang sudah ada | Inspect | semantic |
tagged-pdf-ua2 (direncanakan di hulu) | Hasilkan struktur bertag untuk PDF/UA-2 | Accessibility | semantic |
pdf-a-4-output (direncanakan di hulu) | Hasilkan keluaran PDF/A-4 | Conformance | semantic |
validate-conformance (direncanakan di hulu) | Validasi terhadap profil kesesuaian | Compliance | semantic |
Inspeksi dan ekstraksi
Bagian berjudul “Inspeksi dan ekstraksi”Baca ulang konten dan struktur dari sebuah PDF.
| Resep | Fungsinya | Modul | Profil |
|---|---|---|---|
extract-text-content (direncanakan di hulu) | Ekstrak konten teks | Text | semantic |
parse-and-inspect-pdf (direncanakan di hulu) | Urai dan periksa PDF | Inspect | semantic |
inspect-layout-boxes (direncanakan di hulu) | Periksa kotak tata letak | Inspect | semantic |
Lintas bidang
Bagian berjudul “Lintas bidang”Gunakan pola yang mencakup beberapa modul.
| Resep | Fungsinya | Cakupan | Profil |
|---|---|---|---|
worker-safe-batch-rendering (direncanakan di hulu) | Render secara aman di worker yang berjalan lama (registri bersama, memori terbatas) | Core · Performance · Support | semantic |
exception-aware-error-handling (direncanakan di hulu) | Tangani galat dengan hierarki eksepsi NextPDF | Exception · Contracts | structural |
observe-with-opentelemetry (direncanakan di hulu) | Amati renderer dengan OpenTelemetry | Observability · Telemetry · Event | semantic |
Resep yang menunggu contoh yang dapat dijalankan
Bagian berjudul “Resep yang menunggu contoh yang dapat dijalankan”Resep-resep ini memerlukan berkas examples/*.php baru beserta rangka tests/Cookbook/Php/ di repositori inti sebelum dapat dipublikasikan. Slug di atas bersifat final. Halaman tetap berfungsi sebagai penampung hingga contoh tersedia dan ujinya berjalan:
sign-pades-b-b(direncanakan di hulu) (mencakup PAdES B-B dan B-T)inspect-existing-signature(direncanakan di hulu)extract-text-content(direncanakan di hulu)parse-and-inspect-pdf(direncanakan di hulu)validate-conformance(direncanakan di hulu)inspect-layout-boxes(direncanakan di hulu)worker-safe-batch-rendering(direncanakan di hulu) (contoh sudah ada; rangka uji memori/GC baru ditambahkan)observe-with-opentelemetry(direncanakan di hulu) (contoh berbasis PHP baru ditambahkan)
Setiap resep lain di atas sudah memiliki berkas pendukung examples/*.php dan hanya memerlukan pembungkus rangka uji. Indeks ini mencatat slug dan halaman yang nantinya akan tersedia. Indeks ini tidak mengklaim bahwa halaman yang masih tertunda telah selesai.
Lihat juga
Bagian berjudul “Lihat juga”- Buku resep integrasi — indeks integrasi framework, renderer, dan layanan.
- Konvensi resep — kontrak yang diikuti setiap resep yang dapat dijalankan dalam cookbook ini.