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