Structură logică

Structură logică

Structură logică

PDF-urile etichetate includ un arbore de structură logică care definește ierarhia semantică a documentului
— paragrafe, titluri, tabele, figuri și liste. Aspose.PDF
FOSS pentru .NET oferă API-ul TaggedContent pentru construirea și inspectarea
acestei structuri, care este esențială pentru conformitatea accesibilității PDF/UA.


Accesarea conținutului etichetat

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

Crearea elementelor de structură

ITaggedContent furnizează metode de fabrică pentru fiecare tip de element de structură standard. Elementele sunt asamblate într-un arbore prin apelarea 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);

Tabele structurate

TableElement creează tabele accesibile cu secțiuni de antet, corp și subsol.

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

Ilustrații și figuri

IllustrationElement împachetează imaginile în arborele de structură.

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

Tipuri de elemente de structură

API-ul acceptă setul complet de tipuri de elemente de structură PDF:

  • Nivel bloc: Paragraf, Titlu (H1-H6), Listă, Element de listă, Tabel, Citat bloc, Cod
  • În linie: Span, Legătură, Anotație, Figură, Formulă
  • Grupare: Diviziune, Articol, Secțiune, Parte

Sfaturi și cele mai bune practici

  • Întotdeauna setați Title și Language pe TaggedContent pentru conformitatea PDF/UA.
  • Construiți arborele de structură de sus în jos: creați elemente, apoi adăugați copii.
  • Utilizați SetAlternativeText pe elementele figure pentru accesibilitatea cititorului de ecran.
  • Etichetați tabelele cu THead, TBody, TFoot pentru o semantică corectă a tabelului.
  • Validați conformitatea PDF/UA cu PdfFormatConversionOptions (consultați ghidul de conversie).

Probleme comune

ProblemCauzăRemediere
Validarea PDF/UA eșueazăArborele de structură nu conține elementele necesareAsigurați-vă că tot conținutul are elemente de structură corespunzătoare
Ordinea titlurilor este incorectăH2 apare înainte de H1Respectați ierarhia secvențială a titlurilor
Figura nu are text alternativSetAlternativeText nu este apelatFurnizați întotdeauna text alternativ pentru ilustrații
Tabelul nu este recunoscut de cititorul de ecranStructura THead/TBody lipseșteUtilizați API-ul complet pentru structura tabelului

Întrebări frecvente

Ce este un PDF etichetat?

Un PDF etichetat include un arbore de structură logică care mapează conținutul vizual la elemente semantice (titluri, paragrafe, tabele), permițând instrumentelor de accesibilitate și rearanjarea conținutului.

Este PDF etichetat același lucru cu PDF/UA?

PDF/UA este un standard care necesită etichetare plus reguli suplimentare de accesibilitate.
PDF-urile etichetate sunt o condiție prealabilă pentru conformitatea cu PDF/UA.

Pot să etichetez un PDF existent?

API-ul TaggedContent funcționează cel mai bine cu documente create de la zero. Pentru PDF-urile existente, inspectați arborele de structură prin Document.TaggedContent.


Rezumatul referinței API

Class / MethodDescription
TaggedContentPunct de intrare pentru operațiuni de structură logică
TaggedContent.SetTitleSetează titlul documentului pentru accesibilitate
TaggedContent.SetLanguageSetează limba documentului
ITaggedContentInterfață cu metodele fabrică pentru toate tipurile de elemente
StructureElementClasă de bază pentru toate elementele de structură
StructureElement.AppendChildAdaugă un element copil în arbore
StructureElement.SetTextSetează conținutul text al unui element
TableElementElement de structură tabel accesibil
TableElement.CreateTHeadCreează secțiunea antet a tabelului
TableElement.CreateTBodyCreează secțiunea corp a tabelului
TableTRElementElement rând de tabel
TableTRElement.CreateTDAdaugă o celulă de date
TableTRElement.CreateTHAdaugă o celulă de antet
IllustrationElementElement de structură figură/ilustrație
IllustrationElement.SetImageAtașează o imagine la ilustrație

Vezi și

 Română