SetStructElemIDA

PDF balisé, accessibilité

Description

Le A final indique le point d’entrée ANSI (char) de la DLL ; la surface ActiveX/COM n’expose que la forme Unicode. Le comportement est identique à celui de SetStructElemID et les arguments de chaîne sont interprétés selon la page de codes SetAnsiMode actuelle

Attribue une chaîne d’identité unique à l’élément ouvert. L’ID est écrit dans /ID et indexé dans l’arbre /IDTree du document afin que d’autres éléments le référencent, par exemple via /Headers. Appelez cette fonction après BeginTag ou BeginTagEx et avant EndTag

Syntaxe

Delphi

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

DLL

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

Paramètres

IDChaîne non vide qui identifie de manière unique cet élément de structure dans le document. Choisissez un ID significatif et unique dans tout le document, tel que TH-Col-1, TH-Row-2 ou une chaîne semblable à un GUID

Valeur de retour

Renvoie 1 en cas de réussite. Renvoie 0 si aucun document n'est ouvert, si aucune balise n'est actuellement ouverte dans la pile de balises ou si ID est vide

Remarques

L’entrée /ID est définie dans ISO 32000-1 §14.7.3.4. Tous les ID d’éléments sont rassemblés dans un arbre de noms /IDTree plat à la racine de l’arbre de structure lors de l’enregistrement, permettant leur recherche par ID. Les entrées /IDTree sont triées alphabétiquement par chaîne d’ID

Un usage courant consiste à attribuer des ID aux cellules d’en-tête (TH) afin que les cellules de données (TD) s’associent aux bons en-têtes avec SetStructElemHeaders. Cette association est requise pour les tables complexes par PDF/UA-1 (ISO 14289-1 §7.10) et le critère WCAG 2.x 1.3.1

Si le même ID est attribué à plusieurs éléments de structure, le comportement est indéfini ; un seul élément par ID unique doit recevoir une chaîne d'ID donnée

Exemple

// 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;

Voir aussi

SetStructElemHeaders, AddTagAttribute, BeginTag, EndTag, SetPDFUAMode