SetStructElemLangA
標籤式 PDF 與無障礙
描述
結尾的 A 表示 ANSI(char)DLL 進入點,ActiveX/COM 介面僅公開 Unicode 形式。其行為與 SetStructElemLang 相同,字串引數會依據目前的 SetAnsiMode 字碼頁進行解譯
在標籤堆疊上正在建構的結構元素設定 /Lang 項目。語言標籤會覆蓋該元素及其所有後代的文件層級語言,讓混合語言的文件能為每段內容宣告正確的自然語言
語法
Delphi
Function DLSetStructElemLangA(InstanceID: Integer; Lang: PAnsiChar): Integer;
DLL
int DLSetStructElemLangA(int InstanceID, const char * Lang);
參數
| Lang | BCP 47 語言標籤字串,例如 en-US、fr、de-CH 或 zh-Hant-TW。傳入空字串可清除先前設定,改為繼承文件層級語言。 |
|---|
傳回值
成功傳回 1;目前沒有開啟中的結構元素或未選取文件時傳回 0
備註
在 BeginTag 或 BeginTagEx 之後立即呼叫此函式,此時目標元素位於標籤堆疊頂端。效果等同在 BeginTagEx 傳入非空 Lang 參數,但語言與元素類型分開決定時,這樣呼叫可能更方便。
元素層級的 /Lang 項目定義於 ISO 32000-1 §14.9.2,適用於該結構元素,並依繼承套用到未自行宣告 /Lang 的所有子元素。螢幕閱讀器朗讀文件時,會以此項目挑選合適的文字轉語音音聲或語言引擎。
PDF/UA-1(ISO 14289-1 §7.3)要求所有自然語言內容都要被識別。SetDocumentLanguage 或 SetPDFUAMode 設定的文件層級 /Lang 涵蓋主要語言;SetStructElemLang 涵蓋語言與主要語言不同的區段。
範例
// A French phrase embedded in an English document
PDFlib.SetPDFUAMode('en-US');
// ... English content
PDFlib.BeginTag('P', '', '');
PDFlib.SetStructElemLang('fr');
PDFlib.TextOut(x, y, 'Bonjour le monde');
PDFlib.EndTag;另見
BeginTagEx, SetDocumentLanguage, SetPDFUAMode, SetStructElemActualText, GetPDFUADiagnostics