AddTagAttribute

Структурированный PDF, Доступность

Описание

Добавляет именованный атрибут элементу структуры, который сейчас строится на стеке тегов. При сохранении документа атрибут записывается как PDF-словарь /A (или массив словарей). Вызывайте после BeginTag или BeginTagEx и до EndTag

Синтаксис

Delphi

Function TPDFlib.AddTagAttribute(Const Owner, Name, Value: WideString): Integer;

ActiveX

Function PDFlib::AddTagAttribute(Owner As String, Name As String, Value As String) As Long

DLL

int DLAddTagAttribute(int InstanceID, const wchar_t * Owner, const wchar_t * Name, const wchar_t * Value);

Параметры

OwnerИмя владельца атрибута по ISO 32000-1 Table 348 (например Layout, Table, List, PrintField); становится ключом /O в словаре атрибутов
NameИмя атрибута для указанного владельца (например BBox для Layout, Scope для Table); пустым быть не может
ValueСтроковое значение атрибута. Одиночное число записывается как число PDF, а значения только из чисел через пробел (например "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