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