BeginTag
标记 PDF、可访问性
描述
在当前页面上打开一个带标签的 PDF 结构元素。向内容流写入 BDC(带字典的标记内容开始)运算符,并在文档的逻辑结构树中登记该元素。保存文档时会自动完成结构树
标记必须保持平衡:每次 BeginTag 调用后都必须有匹配的 EndTag 调用,标记可以嵌套
语法
Delphi
Function TPDFlib.BeginTag(Const TagType, AltText, ActualText: WideString): Integer;
ActiveX
Function PDFlib::BeginTag(TagType As String, AltText As String, ActualText As String) As Long
DLL
int DLBeginTag(int InstanceID, const wchar_t * TagType, const wchar_t * AltText, const wchar_t * ActualText);
参数
| TagType | PDF 标准结构类型:P、H1 鈥?H6、Figure、Table、TR、TH、TD、L、LI、LBody、Span、Link、Note 等(参见 ISO 32000-1 搂14.8.4) |
|---|---|
| AltText | 图像及其他非文本内容的替代文本(映射到 PDF /Alt 属性),如不需要,请传递空字符串 |
| ActualText | 视觉表示与逻辑含义不同内容的替代文本(映射到 PDF /ActualText 属性),不需要时传入空字符串 |
返回值
| 0 | 失败(未打开文档) |
|---|---|
| 1 | 标记已成功打开 |
示例
// Heading, then a paragraph
PDF.SetPDFUAMode('en-US');
PDF.BeginTag('H1', '', '');
PDF.PrintText(50, 750, 'Introduction');
PDF.EndTag;
PDF.BeginTag('P', '', '');
PDF.PrintText(50, 730, 'This document demonstrates tagged PDF.');
PDF.EndTag;
// Figure with alt text
PDF.BeginTag('Figure', 'Company logo', '');
PDF.DrawImage(50, 650, 120, 60, 'logo.png');
PDF.EndTag;备注
使用 BeginArtifact/EndArtifact 标记不应被屏幕阅读器朗读的装饰性内容(页眉、页脚、背景元素)
文档必须处于写入模式(已创建或已打开以供修改),请在添加标记前调用 SetPDFUAMode 以满足 PDF/UA-1 要求
为文档添加标签会在保存时将其标记为已添加标签,这是阅读器将结构视为存在的前提。调用方设置的 SetMarkInfo 会保持原样