BeginTagEx2

Tagged PDF & Accessibility

Description

打开一个新的结构元素并将其推送到标记栈上,在单个调用中设置所有主要元素属性;BeginTagEx2BeginTagEx 的便利包装器,后接 SetStructElemTitleSetStructElemIDSetStructElemExpansion;为 TitleElemIDExpansion 中的任何一个传递空字符串将跳过相应的 setter,其他参数的行为与 BeginTagEx 完全相同

如果打开元素时已知道其所有描述性属性,请使用 BeginTagEx2,以避免多次连续的设置器调用;如果稍后确定任何属性(例如,AltText 异步到达),请使用 BeginTagBeginTagEx 并在随后调用各个设置器

Syntax

Delphi

Function TPDFlib.BeginTagEx2(Const TagType, AltText, ActualText, Lang, Title, ElemID, Expansion: WideString): Integer;

ActiveX

Function PDFlib::BeginTagEx2(TagType As String, AltText As String, ActualText As String, Lang As String, Title As String, ElemID As String, Expansion As String) As Long

DLL

int DLBeginTagEx2(int InstanceID, const wchar_t * TagType, const wchar_t * AltText, const wchar_t * ActualText, const wchar_t * Lang, const wchar_t * Title, const wchar_t * ElemID, const wchar_t * Expansion);

Parameters

TagType结构元素类型名称,例如 FigureTableSpanP;可接受与 BeginTag 相同的类型
AltText写入 /Alt 条目的替代文本(ISO 32000-1 §14.9.3);传入空字符串以省略
ActualText写入 /ActualText 条目的实际文本(ISO 32000-1 §14.9.4);传入空字符串以省略
Lang写入到 /Lang 条目的 BCP 47 语言标记(ISO 32000-1 §14.9.2),例如 en-USfrzh-Hant-TW;传入空字符串以继承文档语言
Title写入 /T 条目的人类可读标签(ISO 32000-1 §14.7.2),显示在标签导航面板中;传递空字符串可省略
ElemID写入 /ID 条目的唯一元素标识符(ISO 32000-1 §14.7.4);如果设置,在文档中必须是唯一的;传入空字符串可省略
Expansion写入 /E 条目的缩写或首字母缩略词的展开形式(ISO 32000-1 §14.9.5);传入空字符串以省略

Return value

成功时返回 1,如果未选择文档则返回 0

Remarks

对每次成功的 BeginTagEx2 调用,调用一次 EndTag 以从标记栈中弹出该元素;结构元素可以嵌套:在另一个元素打开时调用 BeginTagEx2 会创建一个子元素

内部实现完全等同于

BeginTagEx(TagType, AltText, ActualText, Lang);
if Title <> '' then SetStructElemTitle(Title);
if ElemID <> '' then SetStructElemID(ElemID);
if Expansion <> '' then SetStructElemExpansion(Expansion);

对于在元素打开后确定的属性,或 BeginTagEx2 未涵盖的属性(例如用于表格单元格属性的 AddTagAttribute),单独的 setter 仍然可用

Example

// Tag a figure with all descriptive properties in one call
PDFlib.BeginTagEx2(
  'Figure',                              // TagType
  'Bar chart: Q1 120, Q2 145, Q3 98',   // AltText
  '',                                    // ActualText (not needed for images)
  '',                                    // Lang (inherit document language)
  'Figure 3: Quarterly Sales',           // Title
  'fig-quarterly-sales',                 // ElemID
  ''                                     // Expansion (not an abbreviation)
);
PDFlib.SetStructElemBBox(x, y, x + w, y + h);
PDFlib.DrawImage(imgHandle, x, y, w, h);
PDFlib.EndTag;

// Tag an acronym span with its expansion
PDFlib.BeginTagEx2(
  'Span',
  '',                                          // AltText
  '',                                          // ActualText
  '',                                          // Lang
  '',                                          // Title
  '',                                          // ElemID
  'World Wide Web Consortium'                  // Expansion
);
PDFlib.WriteText('W3C');
PDFlib.EndTag;

See also

BeginTag, BeginTagEx, EndTag, SetStructElemTitle, SetStructElemID, SetStructElemExpansion