La estructura lógica

La estructura lógica

PDFs etiquetados incluyen un árbol de estructura lógica que define el documento Hierarquía semántica: parágrafos, títulos, tablas, figuras y listas. FOSS para .NET proporciona el TaggedContent API para la construcción y inspección Esta estructura, que es esencial para el cumplimiento de la accesibilidad PDF/UA.


Acceso a los contenidos etiquetados

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

Creación de elementos estructurales

ITaggedContent proporciona métodos de fábrica para cada elemento estructural estándar Los elementos se agrupan en un árbol llamando 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);

Tablas estructuradas

TableElement Crea tablas accesibles con secciones de cabeza, cuerpo y pie.

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

Ilustraciones y cifras

IllustrationElement Imagen de la estructura en el árbol.

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

Tipos de elementos estructurales

La API soporta el conjunto completo de tipos de elementos de estructura PDF:

  • nivel de bloqueo: Parágrafo, Título (H1-H6), Lista, ListItem, Tabla, BlockQuote, Código
  • En línea: Espan, Link, Anotación, Figura, Fórmula
  • Grupo: División, artículo, sección, parte

Consejos y mejores prácticas

  • Siempre se establece Title y Language En el TaggedContent Para la conformidad PDF/UA.
  • Construye el árbol de estructura arriba hacia abajo: crea elementos, luego apéndice a los niños.
  • Uso SetAlternativeText El uso de los elementos para la accesibilidad del lector de pantalla.
  • Título Tablas con THead, TBody, TFoot Para la semántica de mesa adecuada.
  • Validar la conformidad PDF/UA con el PdfFormatConversionOptions (Vea el guía de conversión).

Problemas comunes

ProblemasCausasFixado
PDF/UA validado fallidoEl árbol que falta los elementos necesariosAsegúrese de que todos los contenidos tienen elementos estructurales correspondientes.
La dirección de la orden es equivocadaH2 aparece antes de H1Seguir la jerarquía de los heads secuenciales
La imagen no tiene texto altSetAlternativeText No llamadoSiempre proporcionar texto alt para ilustraciones
Tabla no reconocida por el lector de pantallaLa estructura de THead/TBodyUtilice la API de estructura de mesa completa

FAQ

¿Qué es un PDF etiquetado?

Un PDF etiquetado incluye un árbol de estructura lógica que mapa el contenido visual a elementos semánticos (títulos, parágrafos, tablas), lo que permite las herramientas de accesibilidad y el reflor de contenidos.

¿Es etiquetado PDF el mismo que PDF/UA?

PDF/UA es una norma que requiere etiquetado y reglas adicionales de accesibilidad. los PDF etiquetar son un requisito para el cumplimiento de PDF / UA.

¿Puedo etiquetar un PDF existente?

El TaggedContent API funciona mejor con documentos creados a partir de la escorcilla. PDFs existentes, inspecciona la estructura de la árbol a través de Document.TaggedContent.


Sumación de referencia API

Clase / MétodoDescripción
TaggedContentPunto de entrada para las operaciones estructurales lógicas
TaggedContent.SetTitleConfigura el título de documento para la accesibilidad
TaggedContent.SetLanguageDefinición del lenguaje de documento
ITaggedContentInterfaz con métodos de fábrica para todos los tipos de elementos
StructureElementClase de base para todos los elementos estructurales
StructureElement.AppendChildAgregar un elemento infantil al árbol
StructureElement.SetTextConfigura el contenido de un elemento
TableElementEl elemento de estructura de mesa accesible
TableElement.CreateTHeadCrea la sección de tabla de cabeza
TableElement.CreateTBodyCrea la sección del cuerpo de mesa
TableTRElementEl elemento de la tabla
TableTRElement.CreateTDAdjuntar una célula de datos
TableTRElement.CreateTHAdjuntar una célula de header
IllustrationElementEl elemento de la imagen/ilustración
IllustrationElement.SetImageAñadir una imagen a la ilustración

Ver también

 Español