SetStructElemHeaders

Tagged PDF, Accessibility

Description

Stelt het /Headers-attribuut (Table-attribuuteigenaar) in op het structuurelement dat momenteel geopend is op de tag-stack; het attribuut koppelt de huidige tabelgegevens of kopcel aan een of meer tabelkopcellen geïdentificeerd door hun element-ID's; dit wordt gebruikt om complexe tabelstructuren te beschrijven die niet alleen uit de positie kunnen worden afgeleid; roep dit aan na BeginTag of BeginTagEx en voor EndTag

Syntax

Delphi

Function TPDFlib.SetStructElemHeaders(Const Headers: WideString): Integer;

ActiveX

Function PDFlib::SetStructElemHeaders(Headers As String) As Long

DLL

int DLSetStructElemHeaders(int InstanceID, const wchar_t * Headers);

Parameters

HeadersEen door komma's gescheiden lijst met element-ID's van de TH-cellen die kolom- of rijkoppen zijn voor de huidige TD- of TH-cel; elk ID moet overeenkomen com een ElemID die eerder in hetzelfde document aan een TH-element is toegewezen via SetStructElemID; spaties rond komma's worden genegeerd, bijvoorbeeld: TH-ProductName,TH-Price

Return value

Retourneert 1 bij succes; retourneert 0 als er geen document open is of als er momenteel geen tag open is op de tag-stack

Remarks

Deze functie is equivalent aan het aanroepen van AddTagAttribute met Owner=Table, Name=Headers en dezelfde door komma's gescheiden ID-lijst als Value; het kenmerk wordt geschreven als een /Headers-matrix van PDF-teksttekenreeksen in het /A-kenmerkwoordenboek van het structuurelement

Het attribuut /Headers is gedefinieerd in ISO 32000-1 §14.8.5.7.2 (Table-attribuuteigenaar); voor eenvoudige tabellen waarbij de kolomkoppen zich direct boven hun gegevenscellen bevinden, is het attribuut /Scope ingesteld via SetStructElemScope over het algemeen voldoende; gebruik /Headers voor onregelmatige tabellen met samengevoegde cellen of koppen op meerdere niveaus

PDF/UA-1 (ISO 14289-1 §7.10) requires that every TD cell be explicitly associated with its header cells in tables where the association cannot be determined from the reading order alone.

Example

// A data cell that spans two logical columns, referencing both headers
PDFlib.BeginTag('TD', '', '', '');
PDFlib.SetStructElemHeaders('TH-ProductName,TH-Price');
PDFlib.DrawText('Widget A  $9.99', 100, 660);
PDFlib.EndTag;

See also

SetStructElemID, SetStructElemScope, AddTagAttribute, BeginTag, SetPDFUAMode