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

参数

TagTypePDF 标准结构类型: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 会保持原样