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 | Mapping 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;