Logička struktura
Logička struktura
Označeni PDF-ovi uključuju logičko stablo strukture koje definira semantičku hijerarhiju dokumenta — odlomke, naslove, tablice, slike i popise. Aspose.PDF FOSS za .NET pruža TaggedContent API za izgradnju i pregledavanje ove strukture, što je bitno za usklađenost s pristupačnošću PDF/UA.
Pristupanje označenom sadržaju
using var doc = new Document();
var tagged = doc.TaggedContent;
tagged.SetTitle("Accessible Document");
tagged.SetLanguage("en-US");Stvaranje strukturalnih elemenata
ITaggedContent pruža metode tvornice za svaki standardni tip elementa strukture. 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 tablice
TableElement stvara pristupačne tablice s odjeljcima zaglavlja, tijela 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 omotava slike u strukturalno stablo.
var figure = tagged.CreateFigureElement();
figure.SetImage("chart.png");
figure.SetAlternativeText("Sales chart for Q4");
root.AppendChild(figure);Vrste elemenata strukture
API podržava cijeli skup vrsta elemenata strukture PDF-a:
- Block-level: Paragraf, Naslov (H1-H6), Popis, Stavka popisa, Tablica, Citat, Kod
- Inline: Opseg, Poveznica, Napomena, Slika, Formula
- Grouping: Odjeljak, Članak, Sekcija, Dio
Savjeti i najbolje prakse
- Uvijek postavite
TitleiLanguagenaTaggedContentza usklađenost s PDF/UA. - Izgradite strukturalno stablo odozgo prema dolje: kreirajte elemente, zatim dodajte djecu.
- Koristite
SetAlternativeTextna elementima figure za pristupačnost čitačima ekrana. - Označite tablice s
THead,TBody,TFootza pravilnu semantiku tablica. - Provjerite usklađenost s PDF/UA pomoću
PdfFormatConversionOptions(pogledajte Vodič za konverziju).
Uobičajeni problemi
| Problem | Uzrok | Rješenje |
|---|---|---|
| PDF/UA validacija ne uspijeva | U strukturi stabla nedostaju potrebni elementi | Osigurajte da sav sadržaj ima odgovarajuće strukturalne elemente |
| Redoslijed naslova je pogrešan | H2 se pojavljuje prije H1 | Slijedite sekvencijalnu hijerarhiju naslova |
| Slika nema alt tekst | SetAlternativeText nije pozvan | Uvijek osigurajte alt tekst za ilustracije |
| Tablica nije prepoznata od strane čitača zaslona | Nedostaje struktura THead/TBody | Koristite API za potpunu strukturu tablice |
FAQ
Što je označeni PDF?
Označeni PDF uključuje logičko strukturalno stablo koje mapira vizualni sadržaj na semantičke elemente (naslove, odlomke, tablice), omogućujući alate za pristupačnost i ponovno oblikovanje sadržaja.
Je li označeni PDF isti kao PDF/UA?
PDF/UA je standard koji zahtijeva označavanje plus dodatna pravila pristupačnosti.
Označeni PDF‑ovi su preduslov za usklađenost s PDF/UA.
Mogu li označiti postojeći PDF?
TaggedContent API najbolje funkcionira s dokumentima kreiranim od početka. Za postojeće PDF‑ove, pregledajte stablo strukture putem Document.TaggedContent.
Sažetak API referencije
| Class / Method | Description |
|---|---|
TaggedContent | Ulazna točka za operacije logičke strukture |
TaggedContent.SetTitle | Postavi naslov dokumenta za pristupačnost |
TaggedContent.SetLanguage | Postavi jezik dokumenta |
ITaggedContent | Sučelje s metodama tvornice za sve vrste 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 tablice s pristupačnošću |
TableElement.CreateTHead | Stvori odjeljak zaglavlja tablice |
TableElement.CreateTBody | Stvori odjeljak tijela tablice |
TableTRElement | Element retka tablice |
TableTRElement.CreateTD | Dodaj podatkovnu ćeliju |
TableTRElement.CreateTH | Dodaj ćeliju zaglavlja |
IllustrationElement | Element strukture slike/ilustracije |
IllustrationElement.SetImage | Priloži sliku ilustraciji |