Документация PDFiumPas

MovePages Метод

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

Синтаксис

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

Описание

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 page reordering в UI или для действия «переместить выбранные miniatures вверх / вниз». Чтобы скопировать подмножество страниц из другого документа, используйте ImportPagesByIndex; чтобы удалить страницы, используйте DeletePage

Примечания

Пример

// 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;

См. также

ImportPagesByIndex, ImportNPagesToOne, DeletePage, AddPage