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