Logička struktura

Logička struktura

Logička struktura

Tagovani PDF‑ovi uključuju logičko stablo strukture koje definiše semantičku hijerarhiju dokumenta — odlomke, naslove, tabele, figure i liste. Aspose.PDF FOSS za .NET pruža TaggedContent API za izgradnju i pregledanje ove strukture, što je od suštinskog značaja za usklađenost sa PDF/UA pristupačnošću.


Pristupanje označenom sadržaju

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

Kreiranje strukturalnih elemenata

ITaggedContent pruža fabričke metode za svaki standardni tip strukturalnog elementa. Elementi se sastavljaju u stablo pozivanjem 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);

Strukturirane tabele

TableElement kreira pristupačne tabele sa sekcijama zaglavlja, tela i podnožja.

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

Ilustracije i figure

IllustrationElement обавија слике у структурално стабло.

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

Типови елемената структуре

API podržava kompletan skup tipova PDF strukturalnih elemenata:

  • Block-level: Paragraf, Naslov (H1-H6), Lista, Stavka liste, Tabela, Citat, Kod
  • Inline: Span, Veza, Anotacija, Slika, Formula
  • Grouping: Odeljak, Članak, Sekcija, Deo

Saveti i najbolje prakse

  • Uvek postavite Title i Language na TaggedContent za PDF/UA usklađenost.
  • Izgradite strukturalno stablo odozgo prema dole: kreirajte elemente, zatim dodajte decu.
  • Koristite SetAlternativeText na elementima figure za pristupačnost čitačima ekrana.
  • Označite tabele sa THead, TBody, TFoot za pravilnu semantiku tabela.
  • Validirajte PDF/UA usklađenost pomoću PdfFormatConversionOptions (pogledajte Vodič za konverziju).

Česti problemi

ProblemUzrokRešenje
PDF/UA validacija ne uspevaStrukturalno stablo nema potrebne elementeOsigurajte da sav sadržaj ima odgovarajuće strukturalne elemente
Redosled naslova je pogrešanH2 se pojavljuje pre H1Pratite sekvencijalnu hijerarhiju naslova
Slika nema alt tekstSetAlternativeText nije pozvanUvek obezbedite alt tekst za ilustracije
Tabela nije prepoznata od strane čitača ekranaNedostaje struktura THead/TBodyKoristite kompletan API za strukturu tabele

FAQ

Šta je označeni PDF?

Označeni PDF sadrži logičko strukturalno stablo koje mapira vizuelni sadržaj na semantičke elemente (naslove, odlomke, tabele), omogućavajući alate za pristupačnost i prelamanje sadržaja.

Da li je tagged PDF isti kao PDF/UA?

PDF/UA je standard koji zahteva označavanje plus dodatna pravila pristupačnosti.
Označeni PDF‑ovi su preduslov za usklađenost sa PDF/UA.

Могу ли да означим постојећи PDF?

TaggedContent API najbolje funkcioniše sa dokumentima kreiranim od nule. Za postojeće PDF‑ove, pregledajte strukturalno stablo putem Document.TaggedContent.


Sažetak API reference

Klasa / MetodaOpis
TaggedContentUlazna tačka za operacije logičke strukture
TaggedContent.SetTitlePostavi naslov dokumenta za pristupačnost
TaggedContent.SetLanguagePostavi jezik dokumenta
ITaggedContentInterfejs sa fabričkim metodama za sve tipove elemenata
StructureElementOsnovna klasa za sve elemente strukture
StructureElement.AppendChildDodaj podređeni element u stablo
StructureElement.SetTextPostavi tekstualni sadržaj elementa
TableElementElement strukture tabele pristupačan
TableElement.CreateTHeadKreiraj sekciju zaglavlja tabele
TableElement.CreateTBodyKreiraj sekciju tela tabele
TableTRElementElement reda tabele
TableTRElement.CreateTDDodaj podatkovnu ćeliju
TableTRElement.CreateTHDodaj ćeliju zaglavlja
IllustrationElementElement strukture slike/ilustracije
IllustrationElement.SetImagePrikači sliku uz ilustraciju

Види такође

 Српски