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