De oorspronkelijke Word-, XML- of opmaakbron is verdwenen. De PDF is er nog wel, ziet er goed uit en bevat tekst, maar heeft geen bruikbare structuur voor hulpsoftware zoals schermlezers. Kunt u daar geautomatiseerd een PDF/UA van maken?
In een eerder artikel beschreven we de route: analyseren, groeperen, reconstrueren, opnieuw genereren en valideren. De reconstructiekern daarvan draait inmiddels. Daarbij bleek de belangrijkste keuze niet een slimmer auto-tag-algoritme, maar een ander uitgangspunt: behandel de oude PDF als meetbaar bronmateriaal en bouw een nieuw semantisch document op.
Dat is geen belofte dat iedere willekeurige PDF met één druk op de knop toegankelijk wordt. Het is wel een reproduceerbare manier om gelijkvormige, digitaal gemaakte documenten seriegewijs te herstellen, met controles op zowel PDF/UA-conformiteit als inhoudsbehoud.
Waarom tags achteraf vaak op het verkeerde fundament rusten
Een PDF legt heel precies vast waar letters, lijnen en afbeeldingen op een pagina staan. Wat die onderdelen betekenen, is vaak verdwenen.
- Twee tekstblokken naast elkaar kunnen kolommen zijn, maar ook een tabel.
- Vetgedrukte tekst kan een kop zijn, maar ook gewone nadruk.
- Een terugkerend logo kan paginameubilair zijn, terwijl een vergelijkbare afbeelding inhoud draagt.
- Een nummer links van tekst kan een lijstmarkering, paragraafnummer of tabelcel zijn.
- De zichtbare tekst van een link en de bijbehorende PDF-annotatie kunnen in verschillende objecten zitten.
Auto-tagging moet betekenis raden binnen de bestaande PDF-objecten. Als die objecten de leesvolgorde of inhoudsstructuur niet volgen, worden keurige tags op een verkeerd model gezet. Daarom repareren wij niet primair de structuurboom van het oude bestand. We lezen het bestand en maken een nieuwe structuur.

Vier metingen leveren samen het bronbeeld
Geen enkele extractor bevat alle benodigde informatie. De reconstructieketen leest daarom vier kanten van dezelfde PDF:
- Tekst en coördinaten: woorden, regels, blokken, kolommen en hun begrenzingen.
- Typografie: fontfamilie, grootte, gewicht en kleur per tekstfragment.
- Getekende vormen: lijnen, kaders en vlakken die bijvoorbeeld een tabel of illustratie zichtbaar maken.
- Annotaties: externe en interne links, hun doel, positie en zichtbare linktekst.
Die signalen worden op coördinaten samengevoegd tot één tussenmodel. Pas daarna volgen leesvolgorde en semantiek:
bestaande PDF
→ tekst + typografie + vormen + annotaties
→ leesvolgorde
→ koppen, alinea's, lijsten, tabellen, figuren en links
→ semantische XSL-FO
→ nieuwe getagde PDF
De oude PDF blijft daarbij ongewijzigd. De nieuwe PDF is een apart, volledig opnieuw opgebouwd artefact.

Eerst meten, alleen uitzonderingen configureren
Het schaalbare onderdeel is niet “één universele regel voor alle PDF's”. Het is de combinatie van generieke metingen en een kleine configuratie per documentfamilie.
Paginaformaat, marges, kolommen, goot, korps, regelhoogte, inspringing en witruimte worden uit de documenten zelf gemeten. Uitschieters mogen daarbij niet de hele bladspiegel bepalen; robuuste percentielen werken beter dan een minimum of maximum.
Een serieconfiguratie legt alleen vast wat niet betrouwbaar uit geometrie volgt, zoals:
- welke typografie en tekstpatronen kopniveaus aangeven;
- welk terugkerend beeld een logo of ander paginameubilair is;
- wanneer een ogenschijnlijke tabel in werkelijkheid genummerde lopende tekst is;
- welke omschrijving een terugkerend betekenisvol beeld krijgt.
Metadata uit de bron-PDF selecteert automatisch de juiste serieconfiguratie. Bij een nieuwe documentfamilie beginnen we dus met meten, niet met een handgeschreven sjabloon vol vaste posities.

Kolommen zijn geen tabellen
De lastigste fouten ontstaan wanneer meetkunde ten onrechte als betekenis wordt behandeld. Een eerdere reconstructiepoging zette 96 procent van de lopende tekst in tabellen. Twee paginakolommen waren aangezien voor tabelkolommen; het resultaat groeide van enkele tientallen naar 126 pagina's met soms één woord per regel.
In de nieuwe keten wordt daarom eerst de leesvolgorde bepaald. Tabeldetectie
komt pas daarna en moet voldoende bewijs vinden voor rijen én kolommen.
Bevestigde tabellen worden opnieuw opgebouwd met Table, TR, TH en TD,
inclusief expliciete relaties tussen datacellen en hun kopcellen. Tekstkolommen
blijven gewone tekst.
Dit verschil is essentieel: een tabel is geen visuele indeling, maar een semantische relatie tussen cellen.

Opnieuw genereren maakt kwaliteit afdwingbaar
Vanuit het tussenmodel maakt XSLT nieuwe XSL-FO. Apache FOP genereert daaruit een nieuwe PDF/UA-1-kandidaat met onder meer:
- een logische structuurboom en leesvolgorde;
- taal en titel;
- echte lijsten en tabellen;
- getagde links met hun beschrijving;
- ingebedde fonts en betrouwbare Unicode-tekst;
- paginameubilair dat als artifact buiten de inhoud blijft.
De formatter, stylesheets, fonts, extractors en validator zijn vast gepind. Een mislukte build bewaart de XSL-FO en rapporten, zodat dezelfde fout later exact kan worden gereproduceerd.

Wat de huidige serietest daadwerkelijk bewijst
Een reeks van dertien Duitse overheidsdocumenten uit dezelfde publicatiefamilie is automatisch via metadata herkend en document voor document opnieuw opgebouwd. De regressietest van 29 juli 2026 gaf:
- 13 van 13 nieuwe PDF's waren technisch intact volgens
qpdf; - 146.393 van 146.393 Unicode-letters bleven behouden;
- de ene unieke externe URI in de bronserie bleef 1 → 1 behouden;
- 13 van 13 nieuwe artefacten behaalden met veraPDF 1.30.2 en het expliciete
ua1-profiel een PDF/UA-1 PASS met nul gefaalde regels; - de eerste en laatste bron- en resultaatpagina van alle dertien documenten zijn gerenderd en visueel gecontroleerd.
Het totale paginatal veranderde van 114 naar 104. Dat was niet automatisch een fout: opnieuw vloeien combineerde enkele korte voorpagina's met het begin van de inhoud. Daarom is “evenveel pagina's” geen algemene kwaliteitsmaat. Volledige letterstroom, links, semantische structuur en visuele bruikbaarheid zijn sterkere controles.
Deze uitkomst bewijst de gecontroleerde serie en de geteste constructies. Zij bewijst niet dat ieder type PDF al automatisch kan worden verwerkt.

Eén groene validator is niet genoeg
De keten gebruikt bewust meer dan één kwaliteitspoort:
- Vorm: veraPDF controleert de machineverifieerbare eisen van PDF/UA-1.
- Inhoud: de tekststroom en URI's worden met de bron vergeleken.
- Integriteit:
qpdfcontroleert of het nieuwe bestand technisch geldig is. - Beeld: representatieve pagina's worden gerenderd en bekeken.
- Menselijke beoordeling: betekenisvolle alternatieve teksten, complexe leesvolgorde en de juistheid van semantische keuzes blijven waar nodig een reviewpunt.
Die tweede poort is niet theoretisch. Tijdens de ontwikkeling ontstond een PDF die de formele PDF/UA-controle haalde terwijl een groot deel van de tekst ontbrak. Conformiteit van de bestandsstructuur en behoud van de publicatie zijn twee verschillende vragen.
veraPDF vermeldt zelf dat zijn PDF/UA-validatie alleen de
machineverifieerbare controles uitvoert. Een groen ua1-rapport mag daarom
alleen als technisch conformiteitsbewijs voor precies dat bestand worden
gepresenteerd, niet als volledige gebruikerstest of algemene wettelijke
goedkeuring.

Waar automatisering wel en niet past
Deze aanpak past goed bij digitaal gemaakte PDF's met een tekstlaag, herkenbare documentfamilies en terugkerende vormgeving. Daar kan één geteste serieconfiguratie veel documenten bedienen en kan iedere volgende wijziging tegen hetzelfde regressiecontract worden gecontroleerd.
Scans zonder betrouwbare tekstlaag, formulieren, infographics, ingewikkelde wiskunde en documenten waarvan de betekenis alleen bij de auteur bekend is, vragen aanvullende extractie of menselijke keuzes. Ook alternatieve teksten kunnen niet verantwoord uit alleen geometrie worden afgeleid.
Daarom begint een traject niet met een bulkbelofte, maar met een representatief corpus:
- documentfamilies en uitzonderingen vaststellen;
- bronkwaliteit en extracteerbaarheid meten;
- acceptatiecriteria voor inhoud, structuur en beeld afspreken;
- één serie end-to-end reconstrueren;
- menselijke controlepunten expliciet maken;
- pas na een groene regressieset opschalen.
Zo wordt bestaande-PDF-remediatie geen oncontroleerbare conversie, maar een herhaalbaar productieproces met bewijs per bestand.

Bronnen en afbakening
De genoemde testresultaten gelden voor de op 29 juli 2026 gecontroleerde
artefacten en de daarin afgedekte documentconstructies. PDF/UA-conformiteit
wordt alleen geclaimd voor een artefact met een succesvol veraPDF
ua1-rapport; menselijke toegankelijkheidscontrole blijft aanvullend nodig
waar de norm een inhoudelijk oordeel vraagt.
