EndTag
Структурированный PDF, Доступность
Описание
Закрывает последний открытый структурный элемент на стеке тегов, записывая оператор EMC (End Marked Content) в поток содержимого текущей страницы и снимая элемент со стека. Каждый вызов BeginTag, BeginTagEx или BeginTagEx2 должен быть спарен ровно с одним вызовом EndTag до сохранения документа или добавления следующей страницы
Синтаксис
Delphi
Function TPDFlib.EndTag: Integer;
ActiveX
Function PDFlib::EndTag() As Long
DLL
int DLEndTag(int InstanceID);
Возвращаемые значения
| 0 | Сбой — документ не открыт либо стек тегов пуст (EndTag был вызван больше раз, чем соответствующие функции Begin*). |
|---|---|
| 1 | Элемент структуры успешно закрыт |
Примечания
Теги должны вкладываться аккуратно. Каждый EndTag закрывает внутренний открытый структурный элемент; порядок закрытия строго обратен порядку открытия — так же, как обычные блочные элементы вкладываются в HTML или XML
Если документ сохраняется с одним или несколькими всё ещё открытыми структурными элементами, GetPDFUADiagnostics сообщает количество под кодом STRUCT-UNCLOSED. Незакрытых элементов нет в сохранённом дереве структуры, поэтому соответствующие секции marked-content на каждой странице остаются без логического родителя — ассистивные технологии их пропустят.
Не используйте EndTag, чтобы закрыть область артефакта, открытую BeginArtifact; для этого вызывайте EndArtifact. Артефакты и структурные элементы живут на независимых стеках маркированного содержимого
Пример
// Nested structure: a section with a heading and two paragraphs
PDF.BeginTag('Sect', '', '');
PDF.BeginTag('H1', '', '');
PDF.PrintText(50, 750, 'Introduction');
PDF.EndTag; // H1
PDF.BeginTag('P', '', '');
PDF.PrintText(50, 720, 'First paragraph of the introduction.');
PDF.EndTag; // P
PDF.BeginTag('P', '', '');
PDF.PrintText(50, 690, 'Second paragraph follows in the same section.');
PDF.EndTag; // P
PDF.EndTag; // SectСм. также
BeginTag, BeginTagEx, BeginTagEx2, EndArtifact, GetPDFUADiagnostics