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

Параметры

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Альтернативный текст для изображений и прочего нетекстового содержимого (переходит в PDF-атрибут /Alt); если не нужен, передайте пустую строку
ActualTextЗамещающий текст для содержимого, чьё визуальное представление расходится с логическим смыслом (переходит в PDF-атрибут /ActualText); если не нужен, передайте пустую строку

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

0Failed (no document is open)
1Tag 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 для декоративного содержимого (колонтитулов страниц, фоновых элементов), которое не должны озвучивать экранные дикторы

Документ должен быть в режиме записи (создан или открыт для изменения). Для выполнения требований PDF/UA-1 вызывайте SetPDFUAMode до тегирования

Тегирование помечает документ как структурированный при сохранении, а это читателю нужно, прежде чем он вообще станет считать структуру присутствующей. Настройка SetMarkInfo, сделанная вызывающим, остается как есть