PDFium Delphi Component Docs

ImportPagesByIndex Метод

Компонент: TPdf  ·  Модуль: PDFium
Импортирует заданное подмножество страниц из другого TPdf по индексу с нуля, с управлением точкой вставки в текущем документе

Syntax

function ImportPagesByIndex(
  Source : TPdf;
  const PageIndices: array of Integer;
  InsertAt : Integer = 0): Boolean;

Description

ImportPagesByIndex копирует явный набор страниц из Source в ЭТОТ документ. В отличие от ImportPages, парсящей строку диапазона с единицы ("1-3,7,10-12"), ImportPagesByIndex принимает индексы напрямую как Pascal open array с нуля — идеально, когда список страниц приходит из логики программы (отмеченный список миниатюр, отфильтрованный запрос и т.п.)

InsertAt — целевой индекс с нуля для ПЕРВОЙ импортируемой страницы: 0 вставляет перед существующей страницей 1, PageCount добавляет в конец. Значения InsertAt вне диапазона PDFium приводит в допустимые

Передайте пустой массив PageIndices, чтобы импортировать все страницы из Source (эквивалент nil на уровне C ABI). Это сокращение «импортировать всё одним вызовом»

При успехе возвращается True. False возвращается, если какой-то индекс вне диапазона в Source или если любой из документов не Active. При Source = nil поднимается EPdfError

Remarks

Example

var
  Source: TPdf;
begin
  Source := TPdf.Create(nil);
  try
    Source.FileName := 'C:\Report.pdf';
    Source.Active := True;
    // Import pages 1, 3, 5 (zero-based: 0, 2, 4) and append
    Pdf1.ImportPagesByIndex(Source, [0, 2, 4], Pdf1.PageCount);
    // Or import every source page at the start of Pdf1
    // Pdf1.ImportPagesByIndex(Source, [], 0);
  finally
    Source.Free;
  end;
end;

See Also

ImportPages, ImportNPagesToOne, MovePages