PDFium Delphi Component Docs

MovePages Метод

Компонент: TPdf  ·  Модуль: PDFium
Переупорядочивает страницы этого документа на месте по индексу с нуля, сохраняя постоянным количество страниц

Syntax

function MovePages(
  const PageIndices: array of Integer;
  DestPageIndex : Integer): Boolean;

Description

MovePages переупорядочивает страницы ЭТОГО документа. PageIndices перечисляет индексы страниц с нуля, которые нужно переместить (в любом порядке, любое количество вплоть до PageCount); DestPageIndex — целевой индекс для ПЕРВОЙ перемещаемой страницы после завершения переноса. Остальные страницы сдвигаются вокруг перемещённого блока, так что длина документа не меняется

Пример: в документе из 5 страниц с нумерацией [0, 1, 2, 3, 4] вызов MovePages([2, 3], 0) даёт [2, 3, 0, 1, 4] — страницы 2 и 3 вынимаются, страница 0 сдвигается на позицию 2 (где была страница 2), страница 1 сдвигается на позицию 3, а страница 4 остаётся на месте

При успехе возвращается True. False возвращается, если какой-то индекс в PageIndices вне диапазона, если DestPageIndex вне диапазона или если PageIndices содержит дубликаты

Это правильный вызов для «переместить выбранные миниатюры вверх / вниз» и drag-and-drop переупорядочивания страниц в UI. Чтобы скопировать подмножество страниц из другого документа, используйте ImportPagesByIndex; чтобы удалить страницы, DeletePage

Remarks

Example

// In a 5-page document, move pages 2 and 3 to the start.
// Result: [2, 3, 0, 1, 4]
if not Pdf1.MovePages([2, 3], 0) then
  ShowMessage('Invalid indices passed to MovePages');

// Reverse the entire document
var
  I: Integer;
  Indices: array of Integer;
begin
  SetLength(Indices, Pdf1.PageCount);
  for I := 0 to High(Indices) do
    Indices[I] := High(Indices) - I;
  Pdf1.MovePages(Indices, 0);
end;

See Also

ImportPagesByIndex, ImportNPagesToOne, DeletePage, AddPage