SetStructElemID
Tagged PDF, Akadálymentesítés
Leírás
Egyedi azonosító karakterláncot rendel a címkeverem tetején jelenleg nyitott struktúraelemhez. Az azonosító a struktúraelem szótárának /ID bejegyzéseként íródik ki, és a dokumentum /IDTree névfájában indexelődik, így más elemek hivatkozhatnak rá, például a táblázatcellák /Headers attribútumán keresztül. Ezt a BeginTag vagy BeginTagEx után, és az EndTag előtt hívja meg
Szintaxis
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);
Paraméterek
| ID | Nem üres karakterlánc, amely egyedileg azonosítja ezt a szerkezeti elemet a dokumentumon belül. Válasszon a teljes dokumentumban jelentéssel bíró és egyedi azonosítót, például TH-Col-1, TH-Row-2 vagy GUID-szerű karakterláncot |
|---|
Visszatérési érték
Siker esetén 1-et ad vissza. 0-t ad vissza, ha nincs megnyitott dokumentum, nincs jelenleg nyitott címke a címkeveremben, vagy az ID üres
Megjegyzések
A /ID bejegyzést az ISO 32000-1 §14.7.3.4 határozza meg. A dokumentum mentésekor minden elemazonosító egy lapos /IDTree névfába gyűlik a struktúrafa gyökerén; ez lehetővé teszi a hozzáférhetőségi eszközöknek és más elemeknek az elemek azonosító szerinti megkeresését. A /IDTree bejegyzései azonosító-karakterlánc szerint betűrendbe vannak rendezve
Gyakori felhasználási eset a táblázatfejléc-cellák (TH) azonosítókkal való címkézése, hogy az adatcellák (TD) a SetStructElemHeaders révén a megfelelő fejlécekhez társíthassák magukat. Ez a társítás összetett táblázatoknál kötelező a PDF/UA-1 (ISO 14289-1 §7.10) és a WCAG 2.x 1.3.1 sikerkritériuma szerint
Ha ugyanazt az azonosítót több struktúraelemhez rendelik, a viselkedés nem meghatározott; minden egyedi azonosítókarakterláncot csak egy elemnek kell megkapnia
Példa
// 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;Lásd még
SetStructElemHeaders, AddTagAttribute, BeginTag, EndTag, SetPDFUAMode