SetStructElemHeadersA
Структурированный PDF, Доступность
Описание
Завершающая A обозначает точку входа DLL типа ANSI (char); интерфейс ActiveX/COM предоставляет только форму Unicode. Поведение идентично SetStructElemHeaders, а строковые аргументы интерпретируются с использованием текущей кодовой страницы SetAnsiMode
Задаёт атрибут /Headers (владелец Table) элементу структуры, открытому на стеке тегов. Атрибут связывает текущую ячейку данных или заголовка таблицы с одной или несколькими ячейками заголовков, идентифицируемыми их ID элементов; описывает сложные таблицы, которые нельзя вывести из одной лишь позиции. Вызывайте после BeginTag или BeginTagEx и до EndTag
Синтаксис
Delphi
Function DLSetStructElemHeadersA(InstanceID: Integer; Headers: PAnsiChar): Integer;
DLL
int DLSetStructElemHeadersA(int InstanceID, const char * Headers);
Параметры
| Headers | Список идентификаторов элементов TH-ячеек через запятую — заголовков столбцов или строк для текущей ячейки TD или TH. Каждый ID должен совпадать с ElemID, присвоенным TH-элементу через SetStructElemID ранее в том же документе. Пробелы вокруг запятых игнорируются. Пример: TH-ProductName,TH-Price |
|---|
Возвращаемое значение
Возвращает 1 в случае успеха, 0 — если документ не открыт или на стеке тегов нет открытого тега
Примечания
Функция эквивалентна вызову AddTagAttribute с Owner=Table, Name=Headers и тем же списком ID через запятую в Value. Атрибут записывается как массив /Headers из PDF-текстовых строк в словаре атрибутов /A элемента структуры
Атрибут /Headers определён в ISO 32000-1 §14.8.5.7.2 (Table attribute owner). В простых таблицах, где заголовки столбцов находятся прямо над своими ячейками данных, обычно достаточно атрибута /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