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
| ID | Chaî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