Lewati ke konten

Konformansi PDF/UA-2: struktur bertanda yang dipancarkan oleh NextPDF untuk ISO 14289-2

Pernyataan batasan. NextPDF memancarkan struktur bertanda yang mendukung pembuatan dokumen yang aksesibel; ini bukan pernyataan konformansi PDF/UA-2 — pemeriksa yang menentukannya.

PDF/UA-2 adalah ISO 14289-2:2024, profil aksesibilitas yang diterapkan di atas Portable Document Format (PDF) 2.0 bertanda. NextPDF Core memancarkan pohon struktur, konten bertanda, bahasa pada katalog dan struktur, serta penanda pdfuaid melalui Document::enableTaggedPdf(). Pustaka menghasilkan struktur yang aksesibel; konformansi tetap diputuskan oleh pemeriksa PDF/UA, seperti verapdf --flavour ua2. ISO 14289-2 §8.1 mendefinisikan konformitas sebagai persyaratan format berkas yang harus dipenuhi sebuah dokumen, sebagaimana dinilai oleh pemeriksa, bukan sebagai klaim yang dinyatakan oleh penghasil.

Terminal window
composer require nextpdf/core:^3

Penandaan PDF/UA-2 adalah kapabilitas Core (security.tagged_pdf). Anda tidak memerlukan paket Premium hanya untuk memancarkan struktur bertanda.

Document::enableTaggedPdf(string $lang = 'en', ?ConformancePolicy $policy = null) menetapkan ConformanceMode::PdfUa2 dan mengaitkan TaggedContentEmitter. Mode menjadi sumber kebenaran tunggal untuk menentukan apakah dokumen bertanda sesuai spesifikasi; penulis kemudian memenuhi kewajiban struktural yang ditetapkan ISO 14289-2:

  • Konten nyata diberi tanda — §8.2.2: setiap bagian konten nyata non-artefak disertakan dalam struktur logis, dan artefak ditandai sebagai artefak. Ini dibangun di atas struktur PDF bertanda §14.7 ISO 32000-2 (StructTreeRoot, elemen struktur, MCID).
  • Bahasa alami dideklarasikan — §8.4.4: dokumen dan peralihan bahasa mencantumkan Lang. Dengan ConformancePolicy::strictUa2(), tag BCP 47 yang cacat ditolak secara fail-fast pada batas API, alih-alih dibuang diam-diam saat penulisan.
  • Gambar membawa alternatif — §8.5.1: setiap elemen struktur Figure memiliki deskripsi alternatif.
  • Tabel mengaitkan header dan data — §8.2.5.26: asosiasi sel header/data tabel diungkapkan secara struktural.

NextPDF memancarkan struktur ini. NextPDF tidak menjalankan penilaian konformitas §8.1; itu adalah peran pemeriksa, dan standar menempatkannya di sana.

MetodeEfek
enableTaggedPdf(string $lang = 'en', ?ConformancePolicy $policy = null): staticMenetapkan ConformanceMode::PdfUa2, mengaitkan TaggedContentEmitter, memvalidasi $lang sesuai kebijakan. Melempar InvalidConfigException ketika kebijakan mewajibkan validasi Lang dan $lang tidak valid.
beginTag()/endTag()Struktur manual untuk konten non-HTML; tipe kontainer menjadi elemen pengelompokan, tipe daun memperoleh MCID.
ConformanceMode::requiresPdfUa2PageTabs(): boolBernilai true untuk PdfUa2 — memicu penegakan /Tabs /S pada halaman.
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Core\Document;
use NextPDF\Conformance\ConformancePolicy;
$out = getenv('NEXTPDF_COOKBOOK_OUTPUT') ?: __DIR__ . '/accessible.pdf';
$doc = Document::createStandalone();
$doc->enableTaggedPdf('en', ConformancePolicy::strictUa2()); // fail-fast Lang
$doc->setTitle('Accessible report 2026');
$doc->writeHtml('<h1>Quarterly report</h1><p>Body text.</p>'
. '<img src="chart.png" alt="Revenue rose 12% quarter on quarter">');
$doc->save($out);
echo "Wrote {$out} — validate: verapdf --flavour ua2 {$out}\n";

Gerbang produksi menjalankan verapdf --flavour ua2 out.pdf dan menggagalkan build ketika pemeriksa melaporkan pelanggaran. Pengujian integrasi tests/Integration/Accessibility/VeraPdfUa2GoldenTest.php menegaskan bahwa fikstur golden HTML→PDF-bertanda lolos veraPDF UA-2 (dilewati ketika veraPDF tidak tersedia). Putusan pemeriksa menjadi gerbang, dan keluaran pemancar menjadi masukannya.

  • Aktifkan lebih dahulu. enableTaggedPdf() setelah writeHtml() tidak menandai konten yang sudah ditulis secara surut.
  • Bahasa ketat. Berikan ConformancePolicy::strictUa2() untuk menolak tag BCP 47 yang cacat pada batas API, alih-alih baru gagal pada validasi veraPDF setelahnya.
  • Pengaktifan ulang yang idempoten. Memanggilnya dua kali memperbarui bahasa tanpa membangun ulang pohon struktur yang sudah terisi.
  • Dokumen bertanda yang kosong. Dokumen bertanda yang kosong tidak mengiklankan PDF/UA-2 (EmptyTaggedPdfDoesNotAdvertisePdfUa2Test): penanda tidak dipancarkan untuk dokumen tanpa konten nyata, sehingga berkas tidak mengklaim secara berlebihan.

Pemancaran pohon struktur sebanding dengan jumlah elemen. Batas anggarannya adalah wall ≤ 1500 ms dan puncak ≤ 64 MB untuk laporan tipikal.

Penandaan aksesibilitas bersifat struktural, bukan kontrol keamanan. Berdasarkan rancangan, ini memaparkan struktur logis dokumen kepada teknologi bantu. Pohon tanda tidak memiliki aspek kerahasiaan.

Kewajiban PDF/UA-2Klausa ISO 14289-2Pemancaran NextPDF
Konten nyata diberi tanda dalam struktur logis§8.2.2TaggedContentEmitter + StructureTree
Bahasa dokumen/struktur dideklarasikan§8.4.4/Lang katalog, divalidasi melalui Bcp47Validator
Deskripsi alternatif gambar§8.5.1alt/Alt pada elemen Figure
Asosiasi header/data tabel§8.2.5.26Struktur TR/TH/TD dari tabel HTML

PDF/UA-2 melapisi model PDF bertanda ISO 32000-2. Elemen struktur yang dipancarkan NextPDF dipetakan terhadap struktur logis §14.7 ISO 32000-2 (StructTreeRoot, elemen struktur, MCID) — chunk — dan ruang nama struktur standar yang ditetapkan untuk PDF 2.0. Peta peran mengikat elemen HTML (h1, p, table) ke tipe struktur standar sehingga pemeriksa UA-2 dapat mengenalinya.

Struktur bertanda adalah landasan teknis untuk kriteria sukses Web Content Accessibility Guidelines (WCAG) 2.2 — 1.1.1 (alternatif non-teks, melalui Figure /Alt §8.5.1), 1.3.1 (informasi dan relasi, melalui pohon struktur), dan 1.3.2 (urutan yang bermakna, melalui urutan baca). Pemancaran struktur diperlukan tetapi tidak cukup untuk konformansi WCAG; audit aksesibilitas, bukan pustaka, yang membuat penentuan itu.

Pemancaran PDF/UA-2 tidak melakukan kriptografi. Mode Federal Information Processing Standards (FIPS) tidak berpengaruh pada jalur struktur bertanda.

KlaimSpesifikasiKlausareference_id
Versi PDF/UA diidentifikasi oleh ruang nama skema pdfuaid (Tabel 1).ISO 14289-2§5
Konformitas dengan PDF/UA-2 menetapkan persyaratan format berkas yang harus dipenuhi dokumen (pemeriksa menilai konformitas; penghasil tidak menyatakannya).ISO 14289-2§8.1
Konten nyata harus diberi tanda dalam struktur logis.ISO 14289-2§8.2.2
Bahasa alami dokumen harus dideklarasikan.ISO 14289-2§8.4.4
Elemen Figure memerlukan deskripsi alternatif.ISO 14289-2§8.5.1
Struktur tabel harus mengaitkan sel header dan data.ISO 14289-2§8.2.5.26
Struktur yang aksesibel dibangun di atas struktur logis PDF bertanda ISO 32000-2.ISO 32000-2§14.7.2

Sitasi berfungsi sebagai penunjuk clause-id dan reference_id di dalam korpus verifikasi. Tidak ada teks standar yang direproduksi.