SetStructElemHeaders

Tagged PDF, Tilgængelighed

Beskrivelse

Indstiller attributten /Headers (Table-attributindehaver) på det strukturelement, der aktuelt er åbent på tagstakken. Attributten knytter den aktuelle tabeldata- eller overskriftscelle til en eller flere tabeloverskriftsceller, der identificeres af deres element-ID'er. Dette bruges til at beskrive komplekse tabelstrukturer, der ikke kan udledes alene af placeringen. Kald dette efter BeginTag eller BeginTagEx og før EndTag.

Syntaks

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

Parametre

HeadersEn kommasepareret liste over element-id'er for de TH-celler, der er kolonne- eller rækkeoverskrifter for den aktuelle TD- eller TH-celle. Hvert id skal svare til et ElemID, der tidligere i samme dokument er tildelt et TH-element via SetStructElemID. Mellemrum omkring kommaer ignoreres. Eksempel: TH-ProductName,TH-Price.

Returværdi

Returnerer 1 ved succes. Returnerer 0, hvis intet dokument er åbent, eller intet tag aktuelt er åbent på tagstakken

Bemærkninger

Denne funktion svarer til at kalde AddTagAttribute med Owner=Table, Name=Headers og den samme kommaseparerede ID-liste som Value. Attributten skrives som et /Headers-array af PDF-tekststrenge i strukturelementets /A-attributordbog.

Attributten /Headers er defineret i ISO 32000-1 §14.8.5.7.2 (Table-attributindehaver). For enkle tabeller, hvor kolonneoverskrifter er placeret direkte over deres dataceller, er attributten /Scope, der angives via SetStructElemScope, normalt tilstrækkelig. Brug /Headers til uregelmæssige tabeller med celler, der strækker sig over flere felter, eller overskrifter på flere niveauer.

PDF/UA-1 (ISO 14289-1 §7.10) kræver, at hver TD-celle eksplicit knyttes til sine overskriftsceller i tabeller, hvor tilknytningen ikke alene kan fastslås ud fra læserækkefølgen.

Eksempel

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

Se også

SetStructElemID, SetStructElemScope, AddTagAttribute, BeginTag, SetPDFUAMode