AddTagAttributeA
Структурированный PDF, Доступность
Описание
Завершающая A обозначает точку входа DLL типа ANSI (char); интерфейс ActiveX/COM предоставляет только форму Unicode. Поведение идентично AddTagAttribute, а строковые аргументы интерпретируются с использованием текущей кодовой страницы SetAnsiMode
Добавляет именованный атрибут элементу структуры, который сейчас строится на стеке тегов. При сохранении документа атрибут записывается как PDF-словарь /A (или массив словарей). Вызывайте после BeginTag или BeginTagEx и до EndTag
Синтаксис
Delphi
Function DLAddTagAttributeA(InstanceID: Integer; Owner, Name, Value: PAnsiChar): Integer;
DLL
int DLAddTagAttributeA(int InstanceID, const char * Owner, const char * Name, const char * Value);
Параметры
| Owner | Имя владельца атрибута по ISO 32000-1 Table 348 (например Layout, Table, List, PrintField); становится ключом /O в словаре атрибутов |
|---|---|
| Name | Имя атрибута для указанного владельца (например BBox для Layout, Scope для Table); пустым быть не может |
| Value | Строковое значение атрибута. Значения только из чисел через пробел (например "0 0 200 100") записываются как PDF-массив вещественных чисел, любое другое — как PDF-объект name (без ведущего /); пустым быть не может |
Возвращаемое значение
Возвращает 1 при успехе. Возвращает 0, если документ не открыт, структурный тег не открыт или Owner / Name пусты
Примечания
Повторные вызовы AddTagAttribute для одного открытого тега накапливаются. Если атрибуты принадлежат одному владельцу, библиотека пишет один словарь /A; при нескольких владельцах атрибуты группируются по владельцу и записываются массивом словарей
Для распространённых атрибутов вместо прямого вызова AddTagAttribute удобнее обёртки SetStructElemScope и SetStructElemBBox
Атрибуты сбрасываются при открытии нового тега и не наследуются дочерними элементами
Пример
// Mark a table header cell with column scope
PDFlib.BeginTag('TH', '', '', '');
PDFlib.AddTagAttribute('Table', 'Scope', 'Column');
// ... draw cell content
PDFlib.EndTag;
// Mark a figure with a bounding box
PDFlib.BeginTag('Figure', 'Company logo', '', '');
PDFlib.AddTagAttribute('Layout', 'BBox', '72 600 200 700');
PDFlib.EndTag;См. также
BeginTag, BeginTagEx, EndTag, SetStructElemScope, SetStructElemBBox