SetStructElemIDA

PDF etiquetado, Accesibilidad

Descripción

El sufijo A indica el punto de entrada ANSI (char) de la DLL; la superficie ActiveX/COM expone únicamente la forma Unicode. El comportamiento es idéntico a SetStructElemID y los argumentos de cadena se interpretan utilizando la página de códigos SetAnsiMode actual

Asigna una cadena de identidad única al elemento de estructura abierto actualmente en la pila de etiquetas. El identificador se escribe como entrada /ID en el diccionario del elemento de estructura y se indexa en el árbol de nombres /IDTree del documento para que otros elementos puedan hacer referencia a él (por ejemplo, mediante el atributo /Headers de las celdas de tabla). Llame a esta función después de BeginTag o BeginTagEx y antes de EndTag

Sintaxis

Delphi

Function DLSetStructElemIDA(InstanceID: Integer; ID: PAnsiChar): Integer;

DLL

int DLSetStructElemIDA(int InstanceID, const char * ID);

Parámetros

IDCadena no vacía que identifica de forma única este elemento de estructura dentro del documento. Elija un ID que sea significativo y único en todo el documento, como TH-Col-1, TH-Row-2 o una cadena similar a un GUID

Valor devuelto

Devuelve 1 en caso de éxito. Devuelve 0 si no hay ningún documento abierto, ninguna etiqueta abierta actualmente en la pila o ID está vacío

Observaciones

La entrada /ID se define en ISO 32000-1 §14.7.3.4. Todos los ID de elementos se reúnen en un árbol de nombres /IDTree plano en la raíz del árbol de estructura al guardar el documento; esto permite que las herramientas de accesibilidad y otros elementos busquen elementos por ID. Las entradas de /IDTree se ordenan alfabéticamente por cadena de ID

Un uso habitual es etiquetar cabeceras TH con IDs para que celdas TD se asocien mediante SetStructElemHeaders, obligatorio en tablas complejas PDF/UA-1 y WCAG 2.x 1.3.1

Si se asigna el mismo identificador a varios elementos de estructura, el comportamiento no está definido; cada cadena de identificador única solo debe asignarse a un elemento

Ejemplo

// Tag a column header cell with an ID for later /Headers reference
PDFlib.BeginTag('TH', 'Product Name', '', '');
PDFlib.SetStructElemID('TH-ProductName');
PDFlib.SetStructElemScope('Column');
PDFlib.DrawText('Product Name', 100, 700);
PDFlib.EndTag;

PDFlib.BeginTag('TH', 'Price', '', '');
PDFlib.SetStructElemID('TH-Price');
PDFlib.SetStructElemScope('Column');
PDFlib.DrawText('Price', 250, 700);
PDFlib.EndTag;

// Tag a data cell referencing both header cells
PDFlib.BeginTag('TD', '', '', '');
PDFlib.SetStructElemHeaders('TH-ProductName,TH-Price');
PDFlib.DrawText('Widget A', 100, 680);
PDFlib.EndTag;

Véase también

SetStructElemHeaders, AddTagAttribute, BeginTag, EndTag, SetPDFUAMode