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
TitleaLanguagenaTaggedContentpre súlad s PDF/UA. - Vytvorte štruktúrový strom zhora nadol: najprv vytvorte prvky, potom pridajte deti.
- Použite
SetAlternativeTextna prvky figure pre prístupnosť čítačov obrazovky. - Označte tabuľky pomocou
THead,TBody,TFootpre správnu semantiku tabuliek. - Overte súlad s PDF/UA pomocou
PdfFormatConversionOptions(pozri Sprievodca konverziou).
Bežné problémy
| Issue | Cause | Fix |
|---|---|---|
| PDF/UA validácia zlyhala | Strom štruktúry chýba požadované prvky | Zabezpečte, aby všetok obsah mal zodpovedajúce štruktúrne prvky |
| Poradie nadpisov je nesprávne | H2 sa objavuje pred H1 | Dodržujte sekvenčnú hierarchiu nadpisov |
| Obrázok nemá alternatívny text | SetAlternativeText nebola zavolaná | Vždy poskytujte alternatívny text pre ilustrácie |
| Tabuľka nie je rozpoznaná čítačkou obrazovky | Chýba štruktúra THead/TBody | Použ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óda | Popis |
|---|---|
TaggedContent | Vstupný bod pre operácie logickej štruktúry |
TaggedContent.SetTitle | Nastaviť názov dokumentu pre prístupnosť |
TaggedContent.SetLanguage | Nastaviť jazyk dokumentu |
ITaggedContent | Rozhranie s továrenskými metódami pre všetky typy prvkov |
StructureElement | Základná trieda pre všetky štruktúrne prvky |
StructureElement.AppendChild | Pridať podriadený prvok do stromu |
StructureElement.SetText | Nastaviť textový obsah prvku |
TableElement | Prvok prístupnej štruktúry tabuľky |
TableElement.CreateTHead | Vytvoriť sekciu hlavičky tabuľky |
TableElement.CreateTBody | Vytvoriť sekciu tela tabuľky |
TableTRElement | Prvok riadku tabuľky |
TableTRElement.CreateTD | Pridať dátovú bunku |
TableTRElement.CreateTH | Pridať hlavičkovú bunku |
IllustrationElement | Prvok štruktúry obrázku/ilustrácie |
IllustrationElement.SetImage | Pripojiť obrázok k ilustrácii |