Ga naar inhoud

PDF/UA-2 (ISO 14289-2): specificatietoewijzing

Deze pagina koppelt functies van NextPDF Core aan bepalingen van PDF/UA-2 (Portable Document Format/Universal Accessibility 2; ISO 14289-2). De pagina geeft aan aan welke bepalingen de bibliotheek je helpt te voldoen en welke bepalingen expliciet buiten het bereik vallen. Het is geen conformiteitsclaim. Of een bestand conform is, hangt af van je inhoud, de bronmarkup en validatie met een externe PDF/UA-checker.

Terminal window
composer require nextpdf/core

PDF/UA-2 (ISO 14289-2) definieert vereisten voor toegankelijke PDF-bestanden. Deze vereisten bouwen voort op de voorzieningen voor logische structuur van ISO 32000-2 §14.7 en de toegankelijkheidsondersteunende vermeldingen van ISO 32000-2 §14.9. Een conform bestand identificeert zichzelf met het identificatieschema van ISO 14289-2 §5. Het bevat een structuurboom waarvan de root één enkel Document-element heeft (ISO 14289-2 §8.2.5.2). Het gebruikt standaardstructuurtypen zodat hulptechnologie elke tag naar een bekende rol kan herleiden.

NextPDF levert de auteursprimitieven voor dit model: opbouw van de structuurboom, standaard role-mapping, marked-content-tagging vanuit semantische HTML en BCP 47-taalattributen. NextPDF leidt geen semantiek af die in de broninhoud ontbreekt. NextPDF voert geen conformiteitschecker uit. De primitieven zijn afgestemd op het model van ISO 14289-2 §3.1 waarin hulptechnologie de structuurboom verwerkt. Je invoer en een externe validator bepalen samen of een specifiek document aan elke bepaling voldoet.

BepalingsgebiedNextPDF-toegangspunt
Activering van tagged PDF, mark-info, catalogustaalDocument::enableTaggedPdf(string $lang, ?ConformancePolicy)
Natuurlijke taal op documentniveauDocument::setLanguage(string $lang)
Structuurboom en enkele Document-rootStructureTree::createRoot(), StructureTree::addElement()
Vocabulaire van standaardstructuurtypenRoleMap::standard()
Taal per element, alternatieve en vervangende tekstConstructor-attributen van StructureElement
Strikte BCP 47-validatieBcp47Validator, ConformancePolicy::strictUa2()
Heuristische remediëring (opt-in)AccessibilityAutoFixerRegistry
<?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.pdf

Raadpleeg het productievoorbeeld van de Accessibility-module voor de writer met dependency-injectie, strikte BCP 47-validatie, advieslogging en foutafhandeling. Dezelfde configuratie geldt voor een PDF/UA-2-auteurschapsworkflow. Voeg na de generatie de stap voor externe validatie toe. Deze stap is verplicht voor een conformiteitsclaim en valt onder je verantwoordelijkheid.

  • Een document dat tagged PDF inschakelt maar geen structuurafstammelingen toevoegt, neemt het PDF/UA-2-identificatieblok niet op, en dat is opzettelijk (ISO 14289-2 §5). Validators wijzen een lege structuurboom af.
  • Het combineren van enablePdfA() en enableTaggedPdf() reduceert de eenwaardige conformiteitsdiscriminator tot last-wins, terwijl structurele neveneffecten additief blijven. Een CONFORMANCE_MODE_CLOBBERED-waarschuwing maakt dit zichtbaar.
  • ISO 14289-2 §7.2.2 staat een conform document toe daarnaast conformiteit met bredere toegankelijkheidsregelgeving te claimen. NextPDF genereert alleen het PDF/UA-2-identificatieschema en genereert geen andere metadata voor regelgevingsclaims.

Bepalingstoewijzing en expliciete niet-dekking

Sectie met titel “Bepalingstoewijzing en expliciete niet-dekking”
Bepalingsgebied (ISO 14289-2 / ISO 32000-2)Ondersteuning door NextPDFOpmerkingen
PDF/UA-2-identificatieschema (ISO 14289-2 §5)OndersteundWordt alleen gegenereerd wanneer de structuurboom afstammelingen heeft.
Eén enkel Document-element onder de structuurboom-root (ISO 14289-2 §8.2.5.2; ISO 32000-2 §14.7.2)OndersteundcreateRoot() dwingt één enkele root-Document af.
Standaardstructuurtypen en role map (ISO 32000-2 §14.7; Well-Tagged PDF §8.2.5.1)OndersteundRoleMap::standard() plus de PDF 2.0-namespace.
Marked-content-sequenties en parent tree (ISO 32000-2 §14.7.2)OndersteundIdentifiers per pagina, voortzetting over meerdere pagina’s.
Natuurlijke taal in de catalogus en per element (ISO 32000-2 §14.9; ISO 14289-2 §8.4.4)OndersteundBCP 47; de strikte modus wijst misvormde tags af.
Dragers voor alternatieve en vervangende tekst (ISO 32000-2 §14.9)Ondersteunt de drager; de inhoud wordt door de auteur aangeleverdDe bibliotheek genereert geen alternatieve tekst.
Logische leesvolgorde (ISO 32000-2 §14.7)Ondersteunt de bronvolgorde; herordent nietEen gecorrigeerde leesvolgorde valt onder de verantwoordelijkheid van de auteur.
Koppeling en bereik van tabelkoppenBuiten het bereik, afgezien van HTML-markupWordt niet afgeleid; is afhankelijk van de bronmarkup.
Juistheid van kopniveaus en overzichtsstructuurBuiten het bereikDe auteur moet een correcte kophiërarchie aanleveren.
End-to-end PDF/UA-2-verificatieBuiten het bereikGeen meegeleverde checker; valideer extern.
Conformiteitsattestatie of -certificeringBuiten het bereikWordt niet door de bibliotheek geleverd.

De voorzieningen voor de structuurboom voegen één lineaire serialisatiepass over de elementenverzameling toe. De HTML-pijplijn bepaalt grotendeels de kosten, niet de tag-emissie. De limiet van performance_budget geldt voor een typisch semantisch document met meerdere pagina’s.

Taal- en toegankelijkheidsattribuutwaarden worden via PdfStringEscaper ge-escaped voordat ze in de PDF-objectsyntaxis terechtkomen. BCP 47-validatie in de strikte modus verkleint het invoeroppervlak voor taaltags aan de API-grens. Behandel door de auteur aangeleverde alternatieve tekst en titels als niet-vertrouwde uitvoer.

NextPDF genereert structuur die consistent is met het PDF/UA-2-structuurboommodel dat is gedefinieerd in ISO 14289-2 en ISO 32000-2 §14.7. De bibliotheek stelt niet dat een bepaald document conform PDF/UA-2 is. Valideer met een PDF/UA-checker, zoals veraPDF; de bibliotheek bevestigt de conformiteit niet namens je. De meegeleverde veraPDF UA-2-golden-test wordt overgeslagen wanneer de veraPDF-binary ontbreekt, dus er wordt hier geen geslaagde conformiteitscontrole geclaimd. Geciteerde clausules worden geparafraseerd, nooit letterlijk overgenomen; chunk-hashes worden vastgelegd in docs/public/modules/core/_normative-evidence-a11y.md.

Een PDF/UA-2-conformiteitsclaim vereist door de auteur aangeleverde semantiek (alternatieve tekst, correcte kophiërarchie, koppeling van tabelkoppen, bedoelde leesvolgorde, classificatie van decoratieve inhoud) en validatie met een externe checker. De bibliotheek produceert noch verifieert deze. De runtime geeft een Degraded / ComplianceRisk-advies met een verwijzing naar externe validatie voor productiegoedkeuring. Conformiteit is een eigenschap van het uiteindelijke document en het auteursproces, niet van het aanroepen van de API.