Logická struktura

Logická struktura

Logická struktura

Tagged PDF soubory obsahují logický strom struktury, který definuje sémantickou hierarchii dokumentu — odstavce, nadpisy, tabulky, obrázky a seznamy. Aspose.PDF FOSS pro .NET poskytuje API TaggedContent pro vytváření a kontrolu této struktury, což je nezbytné pro shodu s přístupností PDF/UA.


Přístup k označenému obsahu

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

Vytváření strukturálních prvků

ITaggedContent poskytuje tovární metody pro každý standardní typ strukturálního prvku. Prvky jsou sestaveny do stromu volání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);

Strukturované tabulky

TableElement vytváří přístupné tabulky se sekcemi head, body a footer.

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

Ilustrace a obrázky

IllustrationElement obaluje obrázky ve stromu struktury.

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

Typy strukturálních prvků

API podporuje kompletní sadu typů strukturálních prvků PDF:

  • Bloková úroveň: Paragraph, Heading (H1-H6), List, ListItem, Table, BlockQuote, Code
  • Vložené: Span, Link, Annotation, Figure, Formula
  • Skupinování: Division, Article, Section, Part

Tipy a osvědčené postupy

  • Vždy nastavte Title a Language na TaggedContent pro soulad s PDF/UA.
  • Vytvořte strukturovaný strom shora dolů: vytvořte prvky a poté připojte podřízené.
  • Použijte SetAlternativeText na elementy figure pro přístupnost čteček obrazovky.
  • Označte tabulky pomocí THead, TBody, TFoot pro správnou sémantiku tabulek.
  • Ověřte soulad s PDF/UA pomocí PdfFormatConversionOptions (viz průvodce konverzí).

Časté problémy

IssueCauseFix
Selhání validace PDF/UAStrom struktury postrádá požadované prvkyZajistěte, aby veškerý obsah měl odpovídající strukturové prvky
Pořadí nadpisů je špatnéH2 se objevuje před H1Dodržujte sekvenční hierarchii nadpisů
Obrázek nemá alternativní textSetAlternativeText nebyl zavolánVždy poskytujte alternativní text pro ilustrace
Tabulka není rozpoznána čtečkou obrazovkyChybí struktura THead/TBodyPoužijte plnou API struktury tabulky

Často kladené otázky

Co je označený PDF?

Označený PDF obsahuje logický strom struktury, který mapuje vizuální obsah na sémantické prvky (nadpisy, odstavce, tabulky) a umožňuje nástroje přístupnosti a přetékání obsahu.

Je označený PDF stejný jako PDF/UA?

PDF/UA je standard, který vyžaduje označování plus další pravidla přístupnosti.
Označené PDF jsou předpokladem pro shodu s PDF/UA.

Mohu označit existující PDF?

API TaggedContent funguje nejlépe s dokumenty vytvořenými od nuly. Pro existující PDF soubory prohlédněte strom struktury pomocí Document.TaggedContent.


Souhrn referenčního API

Třída / MetodaPopis
TaggedContentVstupní bod pro operace logické struktury
TaggedContent.SetTitleNastavit název dokumentu pro přístupnost
TaggedContent.SetLanguageNastavit jazyk dokumentu
ITaggedContentRozhraní s továrními metodami pro všechny typy prvků
StructureElementZákladní třída pro všechny strukturové prvky
StructureElement.AppendChildPřidat podřízený prvek do stromu
StructureElement.SetTextNastavit textový obsah prvku
TableElementPřístupný prvek struktury tabulky
TableElement.CreateTHeadVytvořit sekci záhlaví tabulky
TableElement.CreateTBodyVytvořit sekci těla tabulky
TableTRElementPrvek řádku tabulky
TableTRElement.CreateTDPřidat datovou buňku
TableTRElement.CreateTHPřidat buňku záhlaví
IllustrationElementPrvek struktury obrázku/ilustrace
IllustrationElement.SetImagePřipojit obrázek k ilustraci

Viz také

 Čeština