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