AddRoleMapA
标记 PDF、可访问性
描述
末尾的 A 表示 ANSI(char)DLL 入口点;ActiveX/COM 接口仅公开 Unicode 形式。其行为与 AddRoleMap 相同,字符串参数将使用当前 SetAnsiMode 代码页进行解释
在文档的 RoleMap 字典中注册从自定义结构元素类型名称到标准 PDF 结构类型的映射
当带标签的 PDF 内容使用非标准标签名称(例如公司专用或应用程序专用元素类型)时,PDF 规范要求在结构树根的 /RoleMap 条目中将这些名称映射到标准 PDF 结构类型。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 合规性检查器 |
返回值
| 0 | 失败(未打开文档) |
|---|---|
| 1 | 已成功注册映射 |
示例
// 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;