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:
/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 |
Возвращаемые значения
| 0 | Failed (no document is open) |
|---|---|
| 1 | Artifact 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;