Lewati ke konten

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.

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.

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.

Repositori inti saat ini sudah memuat dan menggabungkan lima resep berikut: kumpulan Wave 8.

ResepFungsinyaModulProfil
sign-pades (direncanakan di hulu)Terapkan tanda tangan baseline CMS/PAdES dengan kunci perangkat lunakSecuritysemantic
encrypt-aes256 (direncanakan di hulu)Enkripsi dengan AES-256 dan atur bendera izinSecuritystructural
pdfa4-conformance-gate (direncanakan di hulu)Hasilkan keluaran PDF/A-4 dan terapkan gerbang pada validator eksternalConformancesemantic
accessible-pdfua2-from-html (direncanakan di hulu)Hasilkan struktur bertag untuk penulisan PDF/UA-2 yang dapat diaksesAccessibilitysemantic
validate-signature (direncanakan di hulu)Periksa apakah PDF memiliki tanda tangan, serta batas kepercayaannyaInspectsemantic

Buat dokumen, atur halaman, dan tata gayanya.

ResepFungsinyaModulProfil
render-html-to-pdf (direncanakan di hulu)Render dokumen HTML menjadi PDFHtmlstructural
style-with-css (direncanakan di hulu)Terapkan CSS pada hasil render HTMLHtmlstructural
html-table-layout (direncanakan di hulu)Atur tata letak tabel HTMLHtmlstructural
paginate-long-html (direncanakan di hulu)Paginasi dokumen HTML yang panjangHtmlstructural
compose-text-and-fonts (direncanakan di hulu)Susun teks dengan kendali tipografiTypographystructural
embed-and-subset-fonts (direncanakan di hulu)Sematkan dan buat subset fontFontstructural
cjk-vertical-writing (direncanakan di hulu)Atur teks CJK dalam mode penulisan vertikalTypographystructural
multi-page-document (direncanakan di hulu)Buat dokumen multihalamanDocumentstructural
headers-and-footers (direncanakan di hulu)Tambahkan header dan footer berjalanLayoutstructural

Bekerja dengan vektor, gambar, lapisan, dan ruang koordinat.

ResepFungsinyaModulProfil
draw-vector-graphics (direncanakan di hulu)Gambar grafis vektorGraphicsstructural
gradients-and-transparency (direncanakan di hulu)Terapkan gradien dan transparansiGraphicsstructural
embed-images (direncanakan di hulu)Sematkan gambar rasterContentstructural
optional-content-layers (direncanakan di hulu)Gunakan konten opsional (lapisan)Graphicsstructural
transform-coordinate-space (direncanakan di hulu)Transformasikan ruang koordinatGraphicsstructural

Tambahkan markah, tautan, anotasi, dan bidang AcroForm.

ResepFungsinyaModulProfil
bookmarks-and-toc (direncanakan di hulu)Buat markah dan daftar isiNavigationstructural
links-and-annotations (direncanakan di hulu)Tambahkan tautan dan anotasiNavigationstructural
generate-barcodes (direncanakan di hulu)Hasilkan kode batangBarcodebitwise
fill-pdf-form (direncanakan di hulu)Isi AcroFormFormstructural
flatten-form-fields (direncanakan di hulu)Ratakan bidang formulirFormstructural

Atur metadata dan perilaku penampil.

ResepFungsinyaModulProfil
set-document-metadata (direncanakan di hulu)Atur metadata dokumenMetadatastructural
set-viewer-preferences (direncanakan di hulu)Atur preferensi penampilDocumentstructural

Gunakan enkripsi, penandatanganan, aksesibilitas, dan keluaran berprofil. Resep-resep ini menjaga batas support≠conformance dan presence≠validity pada halaman resep.

ResepFungsinyaModulProfil
encrypt-with-permissions (direncanakan di hulu)Enkripsi dengan bendera izinSecuritystructural
sign-pades-b-b (direncanakan di hulu)Terapkan tanda tangan PAdES (B-B dan B-T)Securitysemantic
inspect-existing-signature (direncanakan di hulu)Periksa tanda tangan yang sudah adaInspectsemantic
tagged-pdf-ua2 (direncanakan di hulu)Hasilkan struktur bertag untuk PDF/UA-2Accessibilitysemantic
pdf-a-4-output (direncanakan di hulu)Hasilkan keluaran PDF/A-4Conformancesemantic
validate-conformance (direncanakan di hulu)Validasi terhadap profil kesesuaianCompliancesemantic

Baca ulang konten dan struktur dari sebuah PDF.

ResepFungsinyaModulProfil
extract-text-content (direncanakan di hulu)Ekstrak konten teksTextsemantic
parse-and-inspect-pdf (direncanakan di hulu)Urai dan periksa PDFInspectsemantic
inspect-layout-boxes (direncanakan di hulu)Periksa kotak tata letakInspectsemantic

Gunakan pola yang mencakup beberapa modul.

ResepFungsinyaCakupanProfil
worker-safe-batch-rendering (direncanakan di hulu)Render secara aman di worker yang berjalan lama (registri bersama, memori terbatas)Core · Performance · Supportsemantic
exception-aware-error-handling (direncanakan di hulu)Tangani galat dengan hierarki eksepsi NextPDFException · Contractsstructural
observe-with-opentelemetry (direncanakan di hulu)Amati renderer dengan OpenTelemetryObservability · Telemetry · Eventsemantic

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.

  • Buku resep integrasi — indeks integrasi framework, renderer, dan layanan.
  • Konvensi resep — kontrak yang diikuti setiap resep yang dapat dijalankan dalam cookbook ini.