function ImportPagesByIndex(
Source : TPdf;
const PageIndices: array of Integer;
InsertAt : Integer = 0): Boolean;
ImportPagesByIndex copia un insieme esplicito di pagine da
Source in QUESTO documento. A differenza di
ImportPages, che analizza una stringa di intervallo a base uno
("1-3,7,10-12"), ImportPagesByIndex riceve gli indici direttamente come open array Pascal
a base zero — ideale quando l'elenco pagine arriva
dalla logica del programma (una lista di miniature spuntate, una query filtrata,
ecc.)
InsertAt è l'indice di destinazione a base zero per la
PRIMA pagina importata: passa 0 per inserire prima della pagina 1 esistente,
passa PageCount per accodare. I valori fuori intervallo di
InsertAt vengono limitati (clamp) da PDFium
Passa un array PageIndices vuoto per importare ogni pagina
da Source (equivale a passare
nil al livello ABI C). È la scorciatoia
importa-tutto-in-una-chiamata
Restituisce True in caso di successo. Restituisce False
se un indice è fuori intervallo in Source o se uno dei due
documenti non è Active. Solleva EPdfError
quando Source è nil
MovePages per riordinare in placePageIndices vengono valutati sullo stato corrente di Source; riordini o eliminazioni in Source dopo la chiamata non cambiano retroattivamente ciò che è stato importatoImportNPagesToOne quando l'obiettivo è comporre pagine su un nuovo documento (griglia N-up) invece di copiarle
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;