function ImportPagesByIndex(
Source : TPdf;
const PageIndices: array of Integer;
InsertAt : Integer = 0): Boolean;
ينسخ ImportPagesByIndex مجموعة صريحة من الصفحات من Source إلى هذا المستند. بخلاف ImportPages الذي يحلل سلسلة نطاق تبدأ من 1 ("1-3,7,10-12")، يأخذ ImportPagesByIndex الفهارس مباشرة كمصفوفة Pascal مفتوحة تبدأ من الصفر — وهو مثالي عندما تأتي قائمة الصفحات من منطق البرنامج (قائمة مصغرات محددة أو استعلام مُصفّى وما إلى ذلك)
InsertAt هو فهرس الوجهة الذي يبدأ من الصفر لأول صفحة مستوردة: مرّر 0 للإدراج قبل الصفحة 1 الحالية، ومرّر PageCount للإلحاق. تُقصّ قيم InsertAt الخارجة عن النطاق بواسطة PDFium
مرّر مصفوفة PageIndices فارغة لاستيراد كل صفحة من Source (وهو مكافئ لتمرير nil على مستوى C ABI). هذا هو الاختصار الذي يستورد كل شيء باستدعاء واحد
يعيد True عند النجاح. ويعيد False إذا كان أي فهرس خارج النطاق في Source أو إذا لم يكن أي من المستندين Active. ويرفع EPdfError عندما يكون Source يساوي nil
MovePages لإعادة الترتيب في المكانPageIndices مقابل الحالة الحالية لـ Source؛ ولا تغيّر عمليات إعادة الترتيب أو الحذف في Source بعد الاستدعاء ما تم استيراده بأثر رجعيImportNPagesToOne بدلًا من ذلك عندما يكون الهدف تجميع الصفحات في مستند جديد (شبكة N-up) بدلًا من نسخها
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;