SetStructElemHeadersA
标记 PDF、可访问性
描述
末尾的 A 表示 ANSI(char)DLL 入口点,ActiveX/COM 接口仅公开 Unicode 形式。其行为与 SetStructElemHeaders 相同,字符串参数会按照当前的 SetAnsiMode 代码页进行解释
在标签栈中当前打开的结构元素上设置 /Headers 属性(表格属性所有者)。该属性将当前表格数据或表头单元格与一个或多个由元素 ID 标识的表头单元格关联,用于描述无法仅从位置推断的复杂表格结构。在 BeginTag 或 BeginTagEx 之后且 EndTag 之前调用
语法
Delphi
Function DLSetStructElemHeadersA(InstanceID: Integer; Headers: PAnsiChar): Integer;
DLL
int DLSetStructElemHeadersA(int InstanceID, const char * Headers);
参数
| Headers | 作为当前 TD 或 TH 单元格列标题或行标题的 TH 单元格元素 ID 逗号分隔列表;每个 ID 都必须匹配此前在同一文档中通过 SetStructElemID 分配给 TH 元素的 ElemID;忽略逗号周围的空白;示例:TH-ProductName,TH-Price |
|---|
返回值
成功时返回 1。未打开文档或标签栈中当前没有打开标签时返回 0
备注
此函数等效于调用 AddTagAttribute,其中 Owner=Table、Name=Headers,且 Value 使用相同的逗号分隔 ID 列表 该属性会作为 PDF 文本字符串的 /Headers 数组写入结构元素的 /A 属性字典
/Headers 属性定义于 ISO 32000-1 §14.8.5.7.2(表格属性所有者)。对于列标题直接位于数据单元格上方的简单表格,通过 /Scope 属性通常已足够,该属性可借助 SetStructElemScope 设置。对于含跨越单元格或多级标题的不规则表格,请使用 /Headers
PDF/UA-1 (ISO 14289-1 §7.10) 要求在无法仅从阅读顺序确定关联的表格中,每个 TD 单元格均须与其表头单元格显式关联
示例
// 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;另请参阅
SetStructElemID, SetStructElemScope, AddTagAttribute, BeginTag, SetPDFUAMode