Logická štruktúra

Logická štruktúra

Logická štruktúra

Označené PDF obsahujú logický strom štruktúry, ktorý definuje sémantickú hierarchiu dokumentu — odseky, nadpisy, tabuľky, obrázky a zoznamy. Aspose.PDF FOSS pre .NET poskytuje TaggedContent API na vytváranie a kontrolu tejto štruktúry, čo je nevyhnutné pre súlad s prístupnosťou PDF/UA.


Prístup k označenému obsahu

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

Vytváranie štruktúrnych prvkov

ITaggedContent poskytuje továrenské metódy pre každý štandardný typ štruktúrneho prvku. Prvky sa zostavujú do stromu volaním 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);

Štruktúrované tabuľky

TableElement vytvára prístupné tabuľky s hlavičkou, telom a pätou.

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

Ilustrácie a obrázky

IllustrationElement obaluje obrázky v štruktúrovacom strome.

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

Typy štruktúrnych prvkov

API podporuje kompletnú sadu typov štruktúrnych prvkov PDF:

  • Bloková úroveň: odsek, nadpis (H1-H6), zoznam, položka zoznamu, tabuľka, citát, kód
  • Vnorené: úsek, odkaz, anotácia, obrázok, vzorec
  • Zoskupovanie: oddiel, článok, sekcia, časť

Tipy a osvedčené postupy

  • Vždy nastavte Title a Language na TaggedContent pre súlad s PDF/UA.
  • Vytvorte štruktúrový strom zhora nadol: najprv vytvorte prvky, potom pridajte deti.
  • Použite SetAlternativeText na prvky figure pre prístupnosť čítačov obrazovky.
  • Označte tabuľky pomocou THead, TBody, TFoot pre správnu semantiku tabuliek.
  • Overte súlad s PDF/UA pomocou PdfFormatConversionOptions (pozri Sprievodca konverziou).

Bežné problémy

IssueCauseFix
PDF/UA validácia zlyhalaStrom štruktúry chýba požadované prvkyZabezpečte, aby všetok obsah mal zodpovedajúce štruktúrne prvky
Poradie nadpisov je nesprávneH2 sa objavuje pred H1Dodržujte sekvenčnú hierarchiu nadpisov
Obrázok nemá alternatívny textSetAlternativeText nebola zavolanáVždy poskytujte alternatívny text pre ilustrácie
Tabuľka nie je rozpoznaná čítačkou obrazovkyChýba štruktúra THead/TBodyPoužite plnú API štruktúry tabuľky

Často kladené otázky

Čo je označený PDF?

Označený PDF obsahuje logický štruktúrny strom, ktorý mapuje vizuálny obsah na sémantické prvky (nadpisy, odseky, tabuľky), čo umožňuje nástroje prístupnosti a preusporiadanie obsahu.

Je označený PDF rovnaký ako PDF/UA?

PDF/UA je štandard, ktorý vyžaduje označovanie plus ďalšie pravidlá prístupnosti.
Označené PDF sú predpokladom pre súlad s PDF/UA.

Môžem označiť existujúci PDF?

API TaggedContent funguje najlepšie s dokumentmi vytvorenými od začiatku. Pre existujúce PDF skontrolujte štruktúrový strom prostredníctvom Document.TaggedContent.


Zhrnutie referencie API

Trieda / MetódaPopis
TaggedContentVstupný bod pre operácie logickej štruktúry
TaggedContent.SetTitleNastaviť názov dokumentu pre prístupnosť
TaggedContent.SetLanguageNastaviť jazyk dokumentu
ITaggedContentRozhranie s továrenskými metódami pre všetky typy prvkov
StructureElementZákladná trieda pre všetky štruktúrne prvky
StructureElement.AppendChildPridať podriadený prvok do stromu
StructureElement.SetTextNastaviť textový obsah prvku
TableElementPrvok prístupnej štruktúry tabuľky
TableElement.CreateTHeadVytvoriť sekciu hlavičky tabuľky
TableElement.CreateTBodyVytvoriť sekciu tela tabuľky
TableTRElementPrvok riadku tabuľky
TableTRElement.CreateTDPridať dátovú bunku
TableTRElement.CreateTHPridať hlavičkovú bunku
IllustrationElementPrvok štruktúry obrázku/ilustrácie
IllustrationElement.SetImagePripojiť obrázok k ilustrácii

Pozri aj

 Slovenčina