BeginTagExA

Структурированный PDF, Доступность

Описание

Суффикс A обозначает точку входа DLL ANSI (char); интерфейс ActiveX/COM предоставляет только вариант Unicode. Поведение идентично BeginTagEx, а строковые аргументы интерпретируются с использованием текущей кодовой страницы SetAnsiMode

Открывает структурный элемент тегированного PDF на текущей странице с явным атрибутом естественного языка. Идентичен BeginTag, но добавляет параметр Lang, записываемый в атрибут /Lang элемента структуры

Используйте эту функцию для содержимого, чей язык отличается от языка документа по умолчанию (задаётся SetPDFUAMode или SetDocumentLanguage). ISO 14289-1 §7.2 требует, чтобы атрибут /Lang стоял на любом сегменте текста, который не на основном языке документа.

Теги должны быть сбалансированы: за каждым вызовом BeginTagEx следует парный EndTag. Теги можно вкладывать

Синтаксис

Delphi

Function DLBeginTagExA(InstanceID: Integer; TagType, AltText, ActualText, Lang: PAnsiChar): Integer;

DLL

int DLBeginTagExA(int InstanceID, const char * TagType, const char * AltText, const char * ActualText, const char * Lang);

Параметры

TagTypePDF 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Альтернативный текст для изображений и другого нетекстового содержимого (атрибут /Alt). Если не требуется, передайте пустую строку
ActualTextЗамещающий текст для содержимого, чей визуальный вид отличается от логического смысла (атрибут /ActualText). Если не требуется, передайте пустую строку
LangТег языка BCP 47 для содержимого элемента, например en-US, fr-FR, zh-Hans. Пустая строка наследует язык документа; непустая перекрывает язык уровня документа для элемента и всех его потомков

Возвращаемые значения

0Failed (no document is open)
1Tag opened successfully

Пример

// Document in English with a French citation
PDF.SetPDFUAMode('en-US');
PDF.BeginTag('P', '', '');
PDF.PrintText(50, 750, 'The French motto is:');
PDF.EndTag;
PDF.BeginTagEx('Span', '', '', 'fr-FR');
PDF.PrintText(50, 730, 'Liberté, Égalité, Fraternité');
PDF.EndTag;