BeginTag
標籤式 PDF、無障礙
描述
在目前頁面開啟標籤式 PDF 結構元素。會在內容串流寫入 BDC(Begin Marked Content with Dictionary)運算子,並把元素登錄到文件的邏輯結構樹。結構樹會在文件儲存時自動定案。
標籤必須配對:每次 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 standard structure type: P, H1–H6, Figure, Table, TR, TH, TD, L, LI, LBody, Span, Link, Note, etc. (see ISO 32000-1 §14.8.4). |
|---|---|
| AltText | 影像與其他非文字內容的替代文字(對應 PDF 的 /Alt 屬性)。不需要時傳入空字串。 |
| ActualText | 視覺表示與邏輯語義不同之內容的替代文字(對應 PDF 的 /ActualText 屬性)。不需要時傳入空字串。 |
傳回值
| 0 | 失敗(沒有開啟的文件) |
|---|---|
| 1 | Tag opened successfully |
範例
// 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 設定保持原樣。