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
TitleogLanguagepåTaggedContentfor PDF/UA‑samsvar. - Bygg strukturtreet fra toppen og ned: opprett elementer, og deretter legg til underordnede.
- Bruk
SetAlternativeTextpå figur‑elementer for skjermlesertilgjengelighet. - Merk tabeller med
THead,TBody,TFootfor korrekt tabellsemantikk. - Valider PDF/UA‑samsvar med
PdfFormatConversionOptions(se konverteringsveiledning).
Vanlige problemer
| Problem | Årsak | Løsning |
|---|---|---|
| PDF/UA-validering mislykkes | Strukturtre mangler påkrevde elementer | Sørg for at alt innhold har tilsvarende strukturelementer |
| Overskriftsrekkefølge er feil | H2 vises før H1 | Følg en sekvensiell overskriftshierarki |
| Figur har ingen alt-tekst | SetAlternativeText not called | Gi alltid alt-tekst for illustrasjoner |
| Tabell gjenkjennes ikke av skjermleser | Mangler THead/TBody-struktur | Bruk 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 / Metode | Beskrivelse |
|---|---|
TaggedContent | Inngangspunkt for logiske strukturoperasjoner |
TaggedContent.SetTitle | Angi dokumenttittelen for tilgjengelighet |
TaggedContent.SetLanguage | Angi dokumentets språk |
ITaggedContent | Grensesnitt med fabrikkmetoder for alle elementtyper |
StructureElement | Basisklasse for alle strukturelementer |
StructureElement.AppendChild | Legg til et underordnet element i treet |
StructureElement.SetText | Angi tekstinnholdet i et element |
TableElement | Tilgjengelig tabellstruktur-element |
TableElement.CreateTHead | Opprett tabellens overskriftsseksjon |
TableElement.CreateTBody | Opprett tabellens kroppseksjon |
TableTRElement | Tabellrad-element |
TableTRElement.CreateTD | Legg til en datacelle |
TableTRElement.CreateTH | Legg til en overskriftscelle |
IllustrationElement | Figur-/illustrasjonsstruktur-element |
IllustrationElement.SetImage | Legg ved et bilde til illustrasjonen |