SetStructElemIDA

PDF etiquetado, Accesibilidad

Descripción

La A final indica el punto de entrada ANSI (char) de la DLL; la interfaz 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 actual de SetAnsiMode

Asigna una cadena de identidad única al elemento de estructura abierto actualmente en la pila de etiquetas. El ID 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 referenciarlo (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

IDUna cadena no vacía que identifica de forma única este elemento de estructura dentro del documento. Elija un ID 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 si tiene éxito. Devuelve 0 si no hay ningún documento abierto, no hay ninguna etiqueta abierta en la pila de etiquetas o ID está vacío

Observaciones

La entrada /ID se define en ISO 32000-1 §14.7.3.4 Todos los identificadores 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 identificador Las entradas de /IDTree se ordenan alfabéticamente por cadena de identificador

Un caso de uso común es etiquetar celdas de encabezado de tabla (TH) con ID para que las celdas de datos (TD) puedan asociarse con los encabezados correctos mediante SetStructElemHeaders Esta asociación es necesaria para tablas complejas según PDF/UA-1 (ISO 14289-1 §7.10) y el criterio de éxito 1.3.1 de WCAG 2.x

Si se asigna el mismo ID a varios elementos de estructura, el comportamiento no está definido; solo un elemento por cada ID único debe recibir una cadena de ID determinada

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