SetStructElemID
Tagged PDF, נגישות
תיאור
מקצה מחרוזת זהות ייחודית ל-structure element הפתוח כרגע על מחסנית התגים. את ה-ID כותבים כרשומת /ID במילון ה-structure element וממפתחים אותו בעץ השמות /IDTree של המסמך, כך שאלמנטים אחרים יכולים להפנות אליו (למשל, דרך מאפיין ה-/Headers של תאי טבלה). קראו לזה אחרי BeginTag או BeginTagEx ולפני EndTag
תחביר
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);
פרמטרים
| ID | מחרוזת לא ריקה המזהה באופן ייחודי את ה-structure element הזה בתוך המסמך. בחרו מזהה בעל משמעות וייחודי על פני כל המסמך, כמו TH-Col-1, TH-Row-2 או מחרוזת דמויית GUID |
|---|
ערך מוחזר
מחזירה 1 בהצלחה. מחזירה 0 אם אין מסמך פתוח, אין תג פתוח כרגע על מחסנית התגים, או ש-ID ריק
הערות
רשומת ה-/ID מוגדרת ב-ISO 32000-1 §14.7.3.4. כל ה-IDs של הרכיבים נאספים לעץ שמות /IDTree שטוח בשורש עץ המבנה כאשר המסמך נשמר; זה מאפשר לכלי נגישות ולרכיבים אחרים לאתר רכיבים לפי ID. רשומות ה-/IDTree ממוינות באלפבית לפי מחרוזת ה-ID.
תרחיש שימוש נפוץ הוא תיוג תאי כותרת של טבלה (TH) עם IDs כך שתאי נתונים (TD) יוכלו לשייך את עצמם לכותרות הנכונות באמצעות SetStructElemHeaders. השיוך הזה נדרש לטבלאות מורכבות תחת PDF/UA-1 (ISO 14289-1 §7.10) ו-WCAG 2.x Success Criterion 1.3.1.
אם אותו ID מוקצה לכמה אלמנטי מבנה ההתנהגות אינה מוגדרת; רק אלמנט אחד לכל ID ייחודי צריך לקבל מחרוזת ID נתונה
דוגמה
// 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;ראו גם
SetStructElemHeaders, AddTagAttribute, BeginTag, EndTag, SetPDFUAMode