ApplyRepeatedPageFragment

Верстка страниц, тегированный PDF, производительность

Описание

Помещает один захваченный Form XObject на каждую выбранную страницу, помечая каждое размещение как artifact вне дерева логической структуры

Захваченный поток и его ресурсы совместно используются всеми размещениями, что избавляет от повторного построения одинаковых заголовков, подписей групп, фонов, колонцифр, водяных знаков или декоративных фрагментов

Синтаксис

Delphi

Function TPDFlib.ApplyRepeatedPageFragment(CaptureID: Integer;
  Const PageRange: WideString; Left, Top, Width, Height: Double;
  Const ArtifactType, ArtifactSubtype: WideString): Integer;

ActiveX

Function PDFlib::ApplyRepeatedPageFragment(CaptureID As Long,
  PageRange As String, Left As Double, Top As Double, Width As Double,
  Height As Double, ArtifactType As String,
  ArtifactSubtype As String) As Long

DLL

int DLApplyRepeatedPageFragment(int InstanceID, int CaptureID,
  const wchar_t* PageRange, double Left, double Top, double Width,
  double Height, const wchar_t* ArtifactType,
  const wchar_t* ArtifactSubtype);
int DLApplyRepeatedPageFragmentA(int InstanceID, int CaptureID,
  const char* PageRange, double Left, double Top, double Width,
  double Height, const char* ArtifactType,
  const char* ArtifactSubtype);

Параметры

CaptureIDПовторно используемый захват, возвращенный EndFormXObject или другим API захвата Form в текущем документе
PageRangeВыражение диапазона страниц или пустая строка для всех страниц
Left, Top, Width, HeightПрямоугольник размещения, передаваемый в DrawCapturedPage; координаты должны быть конечными, а размеры — положительными
ArtifactTypeОдно из значений Pagination, Layout, Page или PDF 2.0 Background
ArtifactSubtypeПусто, если ArtifactType не Pagination; допустимые стандартные значения — Header, Footer, Watermark, PageNum, LineNum, Redaction и Bates

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

Возвращает число страниц, на которых размещен фрагмент, или 0 при неудачной проверке, пустом диапазоне или невозможности изменять страницы в текущей области действия API

Примечания

Функция сохраняет выбранную вызывающей стороной страницу и состояние рисования

Background, PageNum, LineNum, Redaction и Bates поднимают версию функций вывода до PDF 2.0

Повторные размещения всегда являются artifacts; нарисуйте отдельное семантическое вхождение вне этого вызова, если первое вхождение принадлежит порядку чтения

Пример

PDF.BeginFormXObject(0, 0, 180, 24);
PDF.PrintText(0, 8, 'Confidential draft');
FragmentID:= PDF.EndFormXObject;

if PDF.ApplyRepeatedPageFragment(FragmentID, '2-end', 36, 806,
  180, 24, 'Pagination', 'Header')= 0 then
  HandleLayoutError;