Looginen rakenne

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 Title ja Language TaggedContent:lle PDF/UA-yhteensopivuuden varmistamiseksi.
  • Rakenna rakennepuu ylhäältä alas: luo elementit, sitten lisää alkiot.
  • Käytä SetAlternativeText kuvaelementeissä näytönlukijan saavutettavuuden takaamiseksi.
  • Merkitse taulukot THead, TBody, TFoot oikeiden taulukkosemantiikkojen varmistamiseksi.
  • Vahvista PDF/UA-yhteensopivuus PdfFormatConversionOptions:lla (katso muunnosopas).

Yleiset ongelmat

OngelmaSyyKorjaus
PDF/UA-validointi epäonnistuuRakennepuusta puuttuu vaaditut elementitVarmista, että kaikella sisällöllä on vastaavat rakenne-elementit
Otsikkotaso on väärinH2 ilmestyy ennen H1Noudata peräkkäistä otsikkohierarkiaa
Kuvalla ei ole alt-tekstiäSetAlternativeText ei ole kutsuttuTarjoa aina alt-teksti kuville
Taulukkoa ei tunnisteta ruudunlukijallaTHead/TBody-rakenne puuttuuKä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 / MetodiKuvaus
TaggedContentSisäänkäyntipiste loogisten rakenteiden toiminnoille
TaggedContent.SetTitleAseta asiakirjan otsikko saavutettavuuden vuoksi
TaggedContent.SetLanguageAseta asiakirjan kieli
ITaggedContentRajapinta tehdasmenetelmille kaikille elementtityypeille
StructureElementPerusluokka kaikille rakenne-elementeille
StructureElement.AppendChildLisää lapsielementti puuhun
StructureElement.SetTextAseta elementin tekstisisältö
TableElementSaavutettava taulukkorakenne-elementti
TableElement.CreateTHeadLuo taulukon otsikkosektionen
TableElement.CreateTBodyLuo taulukon rungon sektion
TableTRElementTaulukon rivi-elementti
TableTRElement.CreateTDLisää datasolu
TableTRElement.CreateTHLisää otsikkosolu
IllustrationElementKuva/kuvitus rakenne-elementti
IllustrationElement.SetImageLiitä kuva kuvitukseen

Katso myös

 Suomi