SetStructElemID
Označeni PDF, Dostopnost
Opis
Strukturnemu elementu, trenutno odprtemu na skladu oznak, dodeli enolični identifikacijski niz. ID se zapiše kot vnos /ID v slovar strukturnega elementa in indeksira v imenskem drevesu /IDTree dokumenta, da se nanj lahko sklicujejo drugi elementi (na primer prek atributa /Headers celic tabele). Pokličite za BeginTag ali BeginTagEx in pred EndTag
Sintaksa
Delphi
Function TPDFlib.SetStructElemID(Const ID: WideString): Integer;
ActiveX
Function PDFlib::SetStructElemID(ID As String) As Long
DLL
int DLSetStructElemID(int InstanceID, const wchar_t * ID);
Parametri
| ID | Neprazen niz, ki enolično identificira ta strukturni element znotraj dokumenta. Izberite ID, ki je smiseln in enoličen v celotnem dokumentu, npr. TH-Col-1, TH-Row-2 ali niz podoben GUID |
|---|
Vrnjena vrednost
Ob uspehu vrne 1. Vrne 0, kadar ni odprt dokument, na skladu oznak trenutno ni odprta oznaka ali je ID prazen
Opombe
Vnos /ID je definiran v ISO 32000-1 §14.7.3.4. Ob shranjevanju dokumenta se vsi ID-ji elementov zberejo v ravno imensko drevo /IDTree na korenu strukturnega drevesa; to orodjem za dostopnost in drugim elementom omogoča iskanje elementov po ID. Vnosi /IDTree so razvrščeni po abecedi po nizu ID
Pogost primer uporabe je označevanje celic glav tabele (TH) z ID-ji, da si lahko podatkovne celice (TD) prek SetStructElemHeaders povežejo s pravimi glavami. Ta povezava je zahtevana za zapletene tabele pod PDF/UA-1 (ISO 14289-1 §7.10) in WCAG 2.x, merilo uspešnosti 1.3.1
Če je isti ID dodeljen več strukturnim elementom, je obnašanje nedefinirano; dani niz ID naj prejme samo en element na enoličen ID
Primer
// 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;Glejte tudi
SetStructElemHeaders, AddTagAttribute, BeginTag, EndTag, SetPDFUAMode