AddRoleMapA

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

Описание

Завершающая A обозначает точку входа ANSI (char) в DLL; интерфейс ActiveX/COM открывает только Unicode-форму. Поведение идентично AddRoleMap, а строковые аргументы интерпретируются в кодовой странице, заданной текущим режимом SetAnsiMode

Регистрирует в словаре RoleMap документа отображение имени пользовательского типа элемента структуры на стандартный структурный тип PDF

Когда тегированное содержимое PDF использует нестандартные имена тегов (например, типы элементов, специфичные для компании или приложения), спецификация PDF требует отображать эти имена на стандартный тип структуры PDF в записи /RoleMap корня дерева структуры. ISO 14289-1 §7.1 предписывает такое отображение всем документам PDF/UA-1, содержащим нестандартные типы структурных элементов.

Вызывайте AddRoleMap по разу на каждый пользовательский тип, до BeginTag или BeginTagEx с этим типом. Можно зарегистрировать несколько отображений; при повторной регистрации одного типа действует последнее

RoleMap записывается в корень дерева структуры при сохранении документа, если зарегистрировано хотя бы одно отображение

Синтаксис

Delphi

Function DLAddRoleMapA(InstanceID: Integer; CustomType, StandardType: PAnsiChar): Integer;

DLL

int DLAddRoleMapA(int InstanceID, const char * CustomType, const char * StandardType);

Параметры

CustomTypeИмя пользовательского (нестандартного) типа элемента структуры из вызовов BeginTag или BeginTagEx, например Headline, Caption, Callout
StandardTypeСтандартный тип структуры PDF, в который отображается пользовательский тип: P, H1–H6, Figure, Table, Span, Link, Note и т.д. (см. ISO 32000-1 §14.8.4). Чтобы отображение прошло проверки соответствия PDF/UA, это должен быть признанный стандартный тип.

Возвращаемые значения

0Failed (no document is open)
1Mapping registered successfully

Пример

// Document with custom element types mapped to standard PDF structure types
PDF.SetPDFUAMode('en-US');
PDF.AddRoleMap('Headline', 'H1');
PDF.AddRoleMap('Subheadline', 'H2');
PDF.AddRoleMap('Caption', 'P');

PDF.BeginTag('Headline', '', '');
PDF.PrintText(50, 750, 'Annual Report 2026');
PDF.EndTag;

PDF.BeginTag('Subheadline', '', '');
PDF.PrintText(50, 720, 'Financial Highlights');
PDF.EndTag;