BeginArtifactExA

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

Описание

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

Открывает одним вызовом последовательность marked-content артефакта с явным типом артефакта и опциональным подтипом Pagination. Расширяет BeginArtifact поддержкой полного словаря свойств артефакта, определённого в ISO 32000-1 §14.8.2.2.1, таблица 330.

Используйте эту функцию, когда нужно выразить и тип артефакта (Pagination, Layout или Page), и подтип пагинации (Header, Footer, Watermark, PageNum или LineNum) одним оператором. Когда достаточно одного измерения, хватает BeginArtifact

Каждый вызов BeginArtifactEx должен сопровождаться парным вызовом EndArtifact

Синтаксис

Delphi

Function DLBeginArtifactExA(InstanceID: Integer; ArtifactType, ArtifactSubtype: PAnsiChar): Integer;

DLL

int DLBeginArtifactExA(int InstanceID, const char * ArtifactType, const char * ArtifactSubtype);

Параметры

ArtifactTypeИмя типа артефакта, записываемое как свойство /Type. Допустимые значения по ISO 32000-1 §14.8.2.2.1:
  • Pagination — колонтитул, номер страницы или другой элемент разбиения на страницы
  • Layout — содержимое, управляемое разметкой: линейки колонок, фоновое оформление
  • Page — собственное содержимое страницы, не привязанное ни к какой логической структуре
Чтобы опустить /Type, передайте пустую строку (оператор откатится к одному /Subtype либо к голому /Artifact BMC).
ArtifactSubtypeПодтип пагинации, записываемый как свойство /Subtype. Имеет смысл только при ArtifactType равном Pagination. Частые значения: Header, Footer, Watermark, PageNum, LineNum. Пустая строка опускает /Subtype

Записываемый оператор

Both non-empty/Artifact << /Type /T /Subtype /S >> BMC
Type only/Artifact << /Type /T >> BMC
Subtype only/Artifact << /Subtype /S >> BMC
Both empty/Artifact BMC

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

0Failed (no document is open)
1Artifact sequence opened successfully

Пример

// Mark a running header as a Pagination artifact with subtype Header
PDF.BeginArtifactEx('Pagination', 'Header');
PDF.PrintText(50, 780, 'Chapter 3  —  Results');
PDF.EndArtifact;

// Mark a column rule as a Layout artifact (no subtype needed)
PDF.BeginArtifactEx('Layout', '');
PDF.DrawLine(300, 50, 300, 750);
PDF.EndArtifact;