Logische structuur

Logische structuur

Logische structuur

Getagde PDF’s bevatten een logische structuurboom die de semantische hiërarchie van het document definieert — alinea’s, koppen, tabellen, figuren en lijsten. Aspose.PDF FOSS for .NET biedt de TaggedContent API voor het bouwen en inspecteren van deze structuur, wat essentieel is voor PDF/UA-toegankelijkheidsnaleving.


Toegang tot getagde inhoud

using var doc = new Document();
var tagged = doc.TaggedContent;
tagged.SetTitle("Accessible Document");
tagged.SetLanguage("en-US");

Structuurelementen maken

ITaggedContent biedt fabrieksmethoden voor elk standaardstructuurelementtype. Elementen worden samengevoegd tot een boom door AppendChild aan te roepen.

var root = tagged.RootElement;

var heading = tagged.CreateHeaderElement(1);
heading.SetText("Chapter 1");
root.AppendChild(heading);

var paragraph = tagged.CreateParagraphElement();
paragraph.SetText("This is the first paragraph.");
root.AppendChild(paragraph);

Gestructureerde tabellen

TableElement maakt toegankelijke tabellen met head-, body- en footersecties.

var table = tagged.CreateTableElement();
root.AppendChild(table);

var thead = table.CreateTHead();
var headerRow = thead.CreateTR();
headerRow.CreateTH().SetText("Name");
headerRow.CreateTH().SetText("Value");

var tbody = table.CreateTBody();
var dataRow = tbody.CreateTR();
dataRow.CreateTD().SetText("Width");
dataRow.CreateTD().SetText("612");

Illustraties en figuren

IllustrationElement omvat afbeeldingen in de structuurboom.

var figure = tagged.CreateFigureElement();
figure.SetImage("chart.png");
figure.SetAlternativeText("Sales chart for Q4");
root.AppendChild(figure);

Structuurelementtypen

De API ondersteunt de volledige set PDF-structuurelementtypen:

  • Block-level: Paragraaf, Kop (H1-H6), Lijst, Lijstitem, Tabel, Blokcitaat, Code
  • Inline: Span, Link, Annotatie, Figuur, Formule
  • Grouping: Divisie, Artikel, Sectie, Deel

Tips en Best Practices

  • Stel altijd Title en Language in op TaggedContent voor PDF/UA‑conformiteit.
  • Bouw de structuurboom van boven naar beneden: maak elementen aan, voeg vervolgens kinderen toe.
  • Gebruik SetAlternativeText op figure‑elementen voor toegankelijkheid voor schermlezers.
  • Markeer tabellen met THead, TBody, TFoot voor correcte tabelsemantiek.
  • Valideer PDF/UA‑conformiteit met PdfFormatConversionOptions (zie Conversiegids).

Veelvoorkomende problemen

ProbleemOorzaakOplossing
PDF/UA-validatie misluktStructuurbomen missen vereiste elementenZorg ervoor dat alle inhoud overeenkomende structuurelementen heeft
Kopvolgorde is onjuistH2 verschijnt vóór H1Volg een opeenvolgende kophiërarchie
Figuur heeft geen alt-tekstSetAlternativeText niet aangeroepenVoorzie illustraties altijd van alt-tekst
Tabel wordt niet herkend door schermlezerOntbrekende THead/TBody-structuurGebruik de volledige tabelstructuur-API

FAQ

Wat is een getagde PDF?

Een getagde PDF bevat een logische structuurboom die visuele inhoud koppelt aan semantische elementen (koppen, alinea’s, tabellen), waardoor toegankelijkheidstools en inhoudsherindeling mogelijk worden.

Is tagged PDF hetzelfde als PDF/UA?

PDF/UA is een standaard die tagging vereist plus aanvullende toegankelijkheidsregels.
Getagde PDF’s zijn een voorwaarde voor PDF/UA-naleving.

Kan ik een bestaande PDF taggen?

De TaggedContent API werkt het beste met documenten die vanaf nul zijn gemaakt. Voor bestaande PDF’s, inspecteer de structuurboom via Document.TaggedContent.


API-referentieoverzicht

Class / MethodDescription
TaggedContentInstappunt voor logische structuurbewerkingen
TaggedContent.SetTitleStel de documenttitel in voor toegankelijkheid
TaggedContent.SetLanguageStel de documenttaal in
ITaggedContentInterface met fabrieksmethoden voor alle elementtypen
StructureElementBasisklasse voor alle structuur‑elementen
StructureElement.AppendChildVoeg een onderliggend element toe aan de boom
StructureElement.SetTextStel de tekstinhoud van een element in
TableElementToegankelijk tabelstructuurelement
TableElement.CreateTHeadMaak het tabelkop‑gedeelte
TableElement.CreateTBodyMaak het tabellichaam‑gedeelte
TableTRElementTabelrij‑element
TableTRElement.CreateTDVoeg een gegevenscel toe
TableTRElement.CreateTHVoeg een kopcel toe
IllustrationElementFiguur/illustratie‑structuurelement
IllustrationElement.SetImageKoppel een afbeelding aan de illustratie

Zie ook

 Nederlands