SetStructElemIDA

Getagde PDF, toegankelijkheid

Beschrijving

Het achtervoegsel A duidt het ANSI-toegangspunt (char) van de DLL aan; het ActiveX/COM-oppervlak stelt alleen de Unicode-vorm beschikbaar. Het gedrag is identiek aan SetStructElemID en tekenreeksargumenten worden geïnterpreteerd met behulp van de huidige SetAnsiMode-codetabel

Wijst een unieke identiteitsstring toe aan het structuurelement dat momenteel open staat op de tagstack. De ID wordt weggeschreven als /ID-entry in de structuurelementwoordenboek en wordt geïndexeerd in de /IDTree-naamboom van het document, zodat andere elementen ernaar kunnen verwijzen (bijvoorbeeld via het /Headers-attribuut van tabelcellen). Roep dit aan na BeginTag of BeginTagEx en vóór EndTag

Syntaxis

Delphi

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

DLL

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

Parameters

IDEen niet-lege string die dit structuurelement uniek identificeert binnen het document. Kies een ID die betekenisvol en uniek is binnen het hele document, zoals TH-Col-1, TH-Row-2 of een GUID-achtige string

Retourwaarde

Geeft 1 terug bij succes. Geeft 0 terug als er geen document open is, er momenteel geen tag open staat op de tagstack, of ID leeg is

Opmerkingen

De /ID-entry is gedefinieerd in ISO 32000-1 §14.7.3.4. Alle element-ID's worden bij het opslaan van het document verzameld in een afgeplatte /IDTree-naamboom op de structuurboomwortel; zo kunnen accessibilitytools en andere elementen elementen op ID opzoeken. De /IDTree-entries zijn alfabetisch gesorteerd op ID-string

Een veelvoorkomend gebruik is tabelheadercellen (TH) van ID's voorzien zodat datacellen (TD) zich via SetStructElemHeaders aan de juiste headers kunnen koppelen. Die koppeling is bij complexe tabellen vereist onder PDF/UA-1 (ISO 14289-1 §7.10) en WCAG 2.x Succescriterium 1.3.1

Als dezelfde ID aan meerdere structuurelementen wordt toegekend, is het gedrag ongedefinieerd; per unieke ID moet slechts één element een gegeven ID-string krijgen

Voorbeeld

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

Zie ook

SetStructElemHeaders, AddTagAttribute, BeginTag, EndTag, SetPDFUAMode