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
| ID | Cadena 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