Logisk struktur

Logisk struktur

Taggede PDF-er inkluderer et logisk strukturtre som definerer dokumentets semantiske hierarki — avsnitt, overskrifter, tabeller, figurer og lister. Aspose.PDF FOSS for .NET gir TaggedContent API for å bygge og inspisere denne strukturen, som er essensiell for PDF/UA-tilgjengelighetskompatibilitet.


Tilgang til merket innhold

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

Opprette strukturelementer

ITaggedContent gir fabrikkmetoder for hver standard struktur‑elementtype. Elementer settes sammen til et tre ved å kalle AppendChild.

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);

Strukturerte tabeller

TableElement oppretter tilgjengelige tabeller med head-, body- og footer‑seksjoner.

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");

Illustrasjoner og figurer

IllustrationElement pakker inn bilder i strukturtreet.

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

Strukturelementtyper

API-et støtter hele settet med PDF‑strukturelementtyper:

  • Block-level: Avsnitt, Overskrift (H1-H6), Liste, Listeelement, Tabell, Blokksitat, Kode
  • Inline: Spenn, Lenke, Annotering, Figur, Formel
  • Grouping: Divisjon, Artikkel, Seksjon, Del

Tips og beste praksis

  • Sett alltid Title og LanguageTaggedContent for PDF/UA‑samsvar.
  • Bygg strukturtreet fra toppen og ned: opprett elementer, og deretter legg til underordnede.
  • Bruk SetAlternativeText på figur‑elementer for skjermlesertilgjengelighet.
  • Merk tabeller med THead, TBody, TFoot for korrekt tabellsemantikk.
  • Valider PDF/UA‑samsvar med PdfFormatConversionOptions (se konverteringsveiledning).

Vanlige problemer

ProblemÅrsakLøsning
PDF/UA-validering mislykkesStrukturtre mangler påkrevde elementerSørg for at alt innhold har tilsvarende strukturelementer
Overskriftsrekkefølge er feilH2 vises før H1Følg en sekvensiell overskriftshierarki
Figur har ingen alt-tekstSetAlternativeText not calledGi alltid alt-tekst for illustrasjoner
Tabell gjenkjennes ikke av skjermleserMangler THead/TBody-strukturBruk full tabellstruktur-API

Ofte stilte spørsmål

Hva er en tagget PDF?

En tagget PDF inneholder et logisk strukturtre som kartlegger visuelt innhold til semantiske elementer (overskrifter, avsnitt, tabeller), og gjør tilgjengelighetsverktøy og innholdsflyt mulig.

Er merket PDF det samme som PDF/UA?

PDF/UA er en standard som krever merking pluss ekstra tilgjengelighetsregler.
Taggede PDF-er er en forutsetning for PDF/UA‑samsvar.

Kan jeg merke en eksisterende PDF?

TaggedContent API fungerer best med dokumenter opprettet fra bunnen av. For eksisterende PDF-er, inspiser strukturtreet gjennom Document.TaggedContent.


API-referansesammendrag

Klasse / MetodeBeskrivelse
TaggedContentInngangspunkt for logiske strukturoperasjoner
TaggedContent.SetTitleAngi dokumenttittelen for tilgjengelighet
TaggedContent.SetLanguageAngi dokumentets språk
ITaggedContentGrensesnitt med fabrikkmetoder for alle elementtyper
StructureElementBasisklasse for alle strukturelementer
StructureElement.AppendChildLegg til et underordnet element i treet
StructureElement.SetTextAngi tekstinnholdet i et element
TableElementTilgjengelig tabellstruktur-element
TableElement.CreateTHeadOpprett tabellens overskriftsseksjon
TableElement.CreateTBodyOpprett tabellens kroppseksjon
TableTRElementTabellrad-element
TableTRElement.CreateTDLegg til en datacelle
TableTRElement.CreateTHLegg til en overskriftscelle
IllustrationElementFigur-/illustrasjonsstruktur-element
IllustrationElement.SetImageLegg ved et bilde til illustrasjonen

Se også

 Norsk