Pemetaan spesifikasi PDF/UA-2 (ISO 14289-2)
Sekilas pandang
Bagian berjudul “Sekilas pandang”Halaman ini memetakan fitur NextPDF Core terhadap ketentuan PDF/UA-2 (Portable Document Format/Universal Accessibility 2; ISO 14289-2). Halaman ini menyatakan ketentuan mana yang dibantu dipenuhi oleh pustaka ini dan ketentuan mana yang secara eksplisit berada di luar cakupan. Halaman ini bukan klaim kesesuaian. Kesesuaian berkas bergantung pada konten Anda, markup sumber, dan validasi dengan pemeriksa PDF/UA eksternal.
Pemasangan
Bagian berjudul “Pemasangan”composer require nextpdf/coreTinjauan konseptual
Bagian berjudul “Tinjauan konseptual”PDF/UA-2 (ISO 14289-2) mendefinisikan persyaratan untuk berkas PDF yang aksesibel. Persyaratan ini berlandaskan fasilitas struktur logis ISO 32000-2 §14.7 dan entri dukungan aksesibilitas ISO 32000-2 §14.9. Berkas yang sesuai mengidentifikasikan dirinya dengan skema identifikasi ISO 14289-2 §5. Berkas tersebut menyertakan pohon struktur yang akarnya memiliki satu elemen Document (ISO 14289-2 §8.2.5.2). Berkas tersebut menggunakan tipe struktur standar sehingga teknologi bantu dapat memetakan setiap tag ke peran yang dikenal.
NextPDF menyediakan primitif pembuatan untuk model ini: konstruksi pohon struktur, pemetaan peran standar, penandaan marked-content dari HTML semantik, dan atribut bahasa BCP 47. NextPDF tidak menyimpulkan semantik yang tidak ada dalam konten sumber. NextPDF tidak menjalankan pemeriksa kesesuaian. Primitif ini menargetkan model ISO 14289-2 §3.1, tempat teknologi bantu mengonsumsi pohon struktur. Masukan Anda dan validator eksternal menentukan apakah sebuah dokumen tertentu memenuhi setiap ketentuan.
Permukaan API
Bagian berjudul “Permukaan API”| Area ketentuan | Titik masuk NextPDF |
|---|---|
| Aktivasi Tagged-PDF, mark-info, bahasa katalog | Document::enableTaggedPdf(string $lang, ?ConformancePolicy) |
| Bahasa alami tingkat dokumen | Document::setLanguage(string $lang) |
Pohon struktur dan akar Document tunggal | StructureTree::createRoot(), StructureTree::addElement() |
| Kosakata tipe struktur standar | RoleMap::standard() |
| Bahasa per elemen, teks alternatif dan teks pengganti | Atribut konstruktor StructureElement |
| Validasi ketat BCP 47 | Bcp47Validator, ConformancePolicy::strictUa2() |
| Remediasi heuristik (keikutsertaan opsional) | AccessibilityAutoFixerRegistry |
Contoh kode — Mulai cepat
Bagian berjudul “Contoh kode — Mulai cepat”<?php
declare(strict_types=1);
use NextPDF\Core\Document;
$doc = Document::createStandalone();$doc->enableTaggedPdf(lang: 'en');$doc->setTitle('PDF/UA-2 structure demonstration');$doc->addPage();$doc->writeHtml('<h1>Title</h1><p>Body.</p><ul><li>Item</li></ul>');$doc->save(__DIR__ . '/output/ua2.pdf');
// Then validate with an external checker. NextPDF does not assert// conformance on your behalf:// verapdf --flavour ua2 output/ua2.pdfContoh kode — Produksi
Bagian berjudul “Contoh kode — Produksi”Lihat contoh produksi modul Accessibility untuk pola penulisan dengan injeksi dependensi yang dilengkapi validasi ketat BCP 47, pencatatan saran, dan penanganan kesalahan. Pola penyambungan yang sama berlaku untuk alur kerja pembuatan PDF/UA-2. Tambahkan langkah validasi eksternal pascapembuatan. Langkah ini wajib untuk klaim kesesuaian dan menjadi tanggung jawab Anda.
Kasus tepi & jebakan
Bagian berjudul “Kasus tepi & jebakan”- Dokumen yang mengaktifkan tagged PDF tetapi tidak melampirkan turunan struktur tidak mengiklankan blok identifikasi PDF/UA-2, sesuai rancangan (ISO 14289-2 §5). Validator menolak pohon struktur yang kosong.
- Menggabungkan
enablePdfA()danenableTaggedPdf()menciutkan pembeda kesesuaian bernilai tunggal menjadi nilai terakhir yang menang, sambil mempertahankan efek samping struktural yang bersifat aditif. PeringatanCONFORMANCE_MODE_CLOBBEREDmenjadikan perilaku ini dapat diamati. - ISO 14289-2 §7.2.2 mengizinkan dokumen yang sesuai untuk turut mengklaim kesesuaian dengan regulasi aksesibilitas yang lebih luas. NextPDF hanya memancarkan skema identifikasi PDF/UA-2 dan tidak memancarkan metadata klaim regulasi lainnya.
Pemetaan ketentuan dan non-cakupan eksplisit
Bagian berjudul “Pemetaan ketentuan dan non-cakupan eksplisit”| Area ketentuan (ISO 14289-2 / ISO 32000-2) | Dukungan NextPDF | Catatan |
|---|---|---|
| Skema identifikasi PDF/UA-2 (ISO 14289-2 §5) | Mendukung | Hanya dipancarkan ketika pohon struktur memiliki turunan. |
Satu elemen Document di bawah akar pohon struktur (ISO 14289-2 §8.2.5.2; ISO 32000-2 §14.7.2) | Mendukung | createRoot() menegakkan satu Document akar. |
| Tipe struktur standar dan peta peran (ISO 32000-2 §14.7; Well-Tagged PDF §8.2.5.1) | Mendukung | RoleMap::standard() beserta namespace PDF 2.0. |
| Urutan marked-content dan pohon induk (ISO 32000-2 §14.7.2) | Mendukung | Pengidentifikasi per halaman, kelanjutan lintas halaman. |
| Bahasa alami katalog dan per elemen (ISO 32000-2 §14.9; ISO 14289-2 §8.4.4) | Mendukung | BCP 47; mode ketat menolak tag yang bentuknya cacat. |
| Pembawa teks alternatif dan teks pengganti (ISO 32000-2 §14.9) | Mendukung pembawanya; konten disediakan oleh penulis | Pustaka ini tidak menghasilkan teks alternatif. |
| Urutan baca logis (ISO 32000-2 §14.7) | Mendukung urutan sumber; tidak menyusun ulang | Penulis bertanggung jawab atas koreksi urutan baca. |
| Asosiasi dan cakupan header tabel | Di luar cakupan selain markup HTML | Tidak disimpulkan; bergantung pada markup sumber. |
| Ketepatan tingkat heading dan kerangka | Di luar cakupan | Penulis harus menyediakan hierarki heading yang benar. |
| Verifikasi PDF/UA-2 menyeluruh | Di luar cakupan | Tidak ada pemeriksa bawaan; validasi secara eksternal. |
| Atestasi atau sertifikasi kesesuaian | Di luar cakupan | Tidak disediakan oleh pustaka ini. |
Performa
Bagian berjudul “Performa”Fasilitas pohon struktur menambahkan satu lintasan serialisasi linear atas himpunan elemen. Pipeline HTML mendominasi biayanya, bukan pemancaran tag. Batas performance_budget berlaku untuk dokumen semantik multi-halaman yang umum.
Catatan keamanan
Bagian berjudul “Catatan keamanan”Nilai bahasa dan atribut aksesibilitas di-escape melalui PdfStringEscaper sebelum masuk ke sintaks objek PDF. Validasi BCP 47 dalam mode ketat mempersempit permukaan masukan tag bahasa di batas API. Perlakukan teks alternatif dan judul yang disediakan penulis sebagai keluaran yang tidak tepercaya.
Kesesuaian
Bagian berjudul “Kesesuaian”NextPDF memancarkan struktur yang konsisten dengan model pohon struktur PDF/UA-2 yang didefinisikan dalam ISO 14289-2 dan ISO 32000-2 §14.7. NextPDF tidak menyatakan bahwa suatu dokumen sesuai dengan PDF/UA-2. Lakukan validasi dengan pemeriksa PDF/UA, seperti veraPDF; pustaka ini tidak menyatakan kesesuaian atas nama Anda. Uji golden veraPDF UA-2 bawaan dilewati ketika biner veraPDF tidak ada, sehingga tidak ada status lulus kesesuaian yang diklaim di sini. Klausa yang dikutip diparafrasakan, tidak pernah dikutip verbatim; hash potongan dicatat dalam docs/public/modules/core/_normative-evidence-a11y.md.
Batasan yang diketahui
Bagian berjudul “Batasan yang diketahui”Klaim kesesuaian PDF/UA-2 memerlukan semantik yang disediakan penulis (teks alternatif, hierarki heading yang benar, asosiasi header tabel, urutan baca yang dimaksudkan, klasifikasi konten dekoratif) dan validasi dengan pemeriksa eksternal. Pustaka ini tidak menghasilkan atau memverifikasi satu pun dari hal-hal tersebut. Runtime memancarkan saran Degraded / ComplianceRisk yang mengarahkan Anda untuk melakukan validasi secara eksternal demi persetujuan produksi. Kesesuaian adalah properti dokumen akhir dan proses pembuatannya, bukan properti pemanggilan API.