Estructura lògica

Estructura lògica

Estructura lògica

Els PDFs etiquetats inclouen un arbre de estructura lògica que defineix la jerarquia semàntica del document — paràgrafs, encapçalaments, taules, figures i llistes. Aspose.PDF FOSS per a .NET proporciona l’TaggedContent API per a crear i inspeccionar aquesta estructura, que és essencial per al compliment d’accessibilitat PDF/UA.


Accés al contingut etiquetat

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

Creant elements d’estructura

ITaggedContent proporciona mètodes de fàbrica per a cada tipus d’element d’estructura estàndard. Els elements s’assemblen en un arbre cridant 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);

Taules estructurades

TableElement crea taules accessibles amb seccions de capçalera, cos i peu.

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

Il·lustracions i figures

IllustrationElement embolica imatges a l’arbre d’estructura.

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

Tipus d’elements d’estructura

L’API admet el conjunt complet de tipus d’elements d’estructura PDF:

  • A nivell de bloc: Paràgraf, Capçalera (H1-H6), Llista, Element de llista, Taula, Cita en bloc, Codi
  • En línia: Fragment, Enllaç, Anotació, Figura, Fórmula
  • Agrupació: Divisió, Article, Secció, Part

Consells i bones pràctiques

  • Sempre establiu Title i Language a TaggedContent per al compliment de PDF/UA.
  • Construïu l’arbre d’estructura de dalt a baix: creeu elements i, a continuació, afegiu fills.
  • Utilitzeu SetAlternativeText en elements figure per a l’accessibilitat de lectors de pantalla.
  • Etiqueteu les taules amb THead, TBody, TFoot per a una semàntica de taula adequada.
  • Valideu el compliment de PDF/UA amb PdfFormatConversionOptions (vegeu la guia de conversió).

Problemes comuns

ProblemaCausaSolució
La validació PDF/UA fallaL’arbre d’estructura manca d’elements obligatorisAssegureu-vos que tot el contingut tingui elements d’estructura corresponents
L’ordre dels encapçalaments és incorrecteH2 apareix abans de H1Seguiu la jerarquia seqüencial d’encapçalaments
La figura no té text alternatiuSetAlternativeText no s’ha invocatProporcioneu sempre text alternatiu per a les il·lustracions
La taula no és reconeguda per l’screen readerFalta l’estructura THead/TBodyUtilitzeu l’API d’estructura completa de taules

Preguntes freqüents

Què és un PDF etiquetat?

Un PDF etiquetat inclou un arbre d’estructura lògica que assigna el contingut visual a elements semàntics (títols, paràgrafs, taules), permetent eines d’accessibilitat i reajustament del contingut.

És el PDF etiquetat el mateix que PDF/UA?

PDF/UA és un estàndard que requereix etiquetatge més regles d’accessibilitat addicionals.
Els PDFs etiquetats són un requisit previ per al compliment de PDF/UA.

Puc etiquetar un PDF existent?

L’API TaggedContent funciona millor amb documents creats des de zero. Per a PDFs existents, inspeccioneu l’arbre d’estructura a través de Document.TaggedContent.


Resum de la referència API

Classe / MètodeDescripció
TaggedContentPunt d’entrada per a operacions d’estructura lògica
TaggedContent.SetTitleEstablir el títol del document per a l’accessibilitat
TaggedContent.SetLanguageEstablir l’idioma del document
ITaggedContentInterfície amb mètodes de fàbrica per a tots els tipus d’element
StructureElementClasse base per a tots els elements d’estructura
StructureElement.AppendChildAfegir un element fill a l’arbre
StructureElement.SetTextEstablir el contingut de text d’un element
TableElementElement d’estructura de taula accessible
TableElement.CreateTHeadCrear la secció de capçalera de la taula
TableElement.CreateTBodyCrear la secció de cos de la taula
TableTRElementElement de fila de taula
TableTRElement.CreateTDAfegir una cel·la de dades
TableTRElement.CreateTHAfegir una cel·la de capçalera
IllustrationElementElement d’estructura de figura/il·lustració
IllustrationElement.SetImageAdjuntar una imatge a la il·lustració

Vegeu també

 Català