Looginen rakenne
Looginen rakenne
Tagatut PDF:t sisältävät loogisen rakenteen puun, joka määrittelee asiakirjan semanttisen hierarkian — kappaleet, otsikot, taulukot, kuvat ja luettelot. Aspose.PDF FOSS for .NET tarjoaa TaggedContent API:n tämän rakenteen luomiseen ja tarkasteluun, mikä on olennaista PDF/UA saavutettavuusvaatimusten noudattamisessa.
Tunnisteelliseen sisältöön pääsy
using var doc = new Document();
var tagged = doc.TaggedContent;
tagged.SetTitle("Accessible Document");
tagged.SetLanguage("en-US");Rakenne-elementtien luominen
ITaggedContent tarjoaa tehdasmenetelmiä jokaiselle standardirakenneosan tyypille. Elementit kootaan puuksi kutsumalla 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);Rakenteelliset taulukot
TableElement luo saavutettavia taulukoita, joissa on otsikko-, runko- ja alatunnisteosat.
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");Kuvitukset ja kuvat
IllustrationElement käärii kuvat rakenteen puuhun.
var figure = tagged.CreateFigureElement();
figure.SetImage("chart.png");
figure.SetAlternativeText("Sales chart for Q4");
root.AppendChild(figure);Rakenne-elementtityypit
API tukee täyttä PDF-rakenteen elementtien tyyppien joukkoa:
- Block-level: Kappale, Otsikko (H1-H6), Luettelo, Luettelokohta, Taulukko, Lainauslohko, Koodi
- Inline: Span, Linkki, Annotaatio, Kuva, Kaava
- Grouping: Osio, Artikkeli, Luku, Osa
Vinkkejä ja parhaita käytäntöjä
- Aseta aina
TitlejaLanguageTaggedContent:lle PDF/UA-yhteensopivuuden varmistamiseksi. - Rakenna rakennepuu ylhäältä alas: luo elementit, sitten lisää alkiot.
- Käytä
SetAlternativeTextkuvaelementeissä näytönlukijan saavutettavuuden takaamiseksi. - Merkitse taulukot
THead,TBody,TFootoikeiden taulukkosemantiikkojen varmistamiseksi. - Vahvista PDF/UA-yhteensopivuus
PdfFormatConversionOptions:lla (katso muunnosopas).
Yleiset ongelmat
| Ongelma | Syy | Korjaus |
|---|---|---|
| PDF/UA-validointi epäonnistuu | Rakennepuusta puuttuu vaaditut elementit | Varmista, että kaikella sisällöllä on vastaavat rakenne-elementit |
| Otsikkotaso on väärin | H2 ilmestyy ennen H1 | Noudata peräkkäistä otsikkohierarkiaa |
| Kuvalla ei ole alt-tekstiä | SetAlternativeText ei ole kutsuttu | Tarjoa aina alt-teksti kuville |
| Taulukkoa ei tunnisteta ruudunlukijalla | THead/TBody-rakenne puuttuu | Käytä täyttä taulukkorakenteen API:a |
UKK
Mikä on merkitty PDF?
Taggattu PDF sisältää loogisen rakenteen puun, joka kartoittaa visuaalisen sisällön semanttisiin elementteihin (otsikot, kappaleet, taulukot), mahdollistaen saavutettavuustyökalut ja sisällön uudelleenvirtaamisen.
Onko merkitty PDF sama kuin PDF/UA?
PDF/UA on standardi, joka vaatii merkintöjä plus lisäsaavutettavuussääntöjä.
Merkityt PDF:t ovat edellytys PDF/UA:n noudattamiselle.
Voinko merkitä olemassa olevan PDF:n?
TaggedContent API toimii parhaiten alusta alkaen luoduilla asiakirjoilla. Olemassa olevia PDF‑tiedostoja varten tarkastele rakenteen puuta Document.TaggedContent kautta.
API-viitteiden yhteenveto
| Luokka / Metodi | Kuvaus |
|---|---|
TaggedContent | Sisäänkäyntipiste loogisten rakenteiden toiminnoille |
TaggedContent.SetTitle | Aseta asiakirjan otsikko saavutettavuuden vuoksi |
TaggedContent.SetLanguage | Aseta asiakirjan kieli |
ITaggedContent | Rajapinta tehdasmenetelmille kaikille elementtityypeille |
StructureElement | Perusluokka kaikille rakenne-elementeille |
StructureElement.AppendChild | Lisää lapsielementti puuhun |
StructureElement.SetText | Aseta elementin tekstisisältö |
TableElement | Saavutettava taulukkorakenne-elementti |
TableElement.CreateTHead | Luo taulukon otsikkosektionen |
TableElement.CreateTBody | Luo taulukon rungon sektion |
TableTRElement | Taulukon rivi-elementti |
TableTRElement.CreateTD | Lisää datasolu |
TableTRElement.CreateTH | Lisää otsikkosolu |
IllustrationElement | Kuva/kuvitus rakenne-elementti |
IllustrationElement.SetImage | Liitä kuva kuvitukseen |