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
TitleiLanguagenaTaggedContentza PDF/UA usklađenost. - Izgradite strukturalno stablo odozgo prema dole: kreirajte elemente, zatim dodajte decu.
- Koristite
SetAlternativeTextna elementima figure za pristupačnost čitačima ekrana. - Označite tabele sa
THead,TBody,TFootza pravilnu semantiku tabela. - Validirajte PDF/UA usklađenost pomoću
PdfFormatConversionOptions(pogledajte Vodič za konverziju).
Česti problemi
| Problem | Uzrok | Rešenje |
|---|---|---|
| PDF/UA validacija ne uspeva | Strukturalno stablo nema potrebne elemente | Osigurajte da sav sadržaj ima odgovarajuće strukturalne elemente |
| Redosled naslova je pogrešan | H2 se pojavljuje pre H1 | Pratite sekvencijalnu hijerarhiju naslova |
| Slika nema alt tekst | SetAlternativeText nije pozvan | Uvek obezbedite alt tekst za ilustracije |
| Tabela nije prepoznata od strane čitača ekrana | Nedostaje struktura THead/TBody | Koristite 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 / Metoda | Opis |
|---|---|
TaggedContent | Ulazna tačka za operacije logičke strukture |
TaggedContent.SetTitle | Postavi naslov dokumenta za pristupačnost |
TaggedContent.SetLanguage | Postavi jezik dokumenta |
ITaggedContent | Interfejs sa fabričkim metodama za sve tipove elemenata |
StructureElement | Osnovna klasa za sve elemente strukture |
StructureElement.AppendChild | Dodaj podređeni element u stablo |
StructureElement.SetText | Postavi tekstualni sadržaj elementa |
TableElement | Element strukture tabele pristupačan |
TableElement.CreateTHead | Kreiraj sekciju zaglavlja tabele |
TableElement.CreateTBody | Kreiraj sekciju tela tabele |
TableTRElement | Element reda tabele |
TableTRElement.CreateTD | Dodaj podatkovnu ćeliju |
TableTRElement.CreateTH | Dodaj ćeliju zaglavlja |
IllustrationElement | Element strukture slike/ilustracije |
IllustrationElement.SetImage | Prikači sliku uz ilustraciju |