Docs PDFiumPas

ImportPagesByIndex Méthode

Cette entrée API conserve identifiants, signatures, blocs de code et termes PDF dans leur forme d’origine.
Composant: TPdf  ·  Unité: PDFium
Importe un sous-ensemble précis de pages depuis un autre TPdf par index indexé à partir de zéro, avec contrôle du point d’insertion dans le document courant

Syntaxe

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

Description

ImportPagesByIndex copie un ensemble explicite de pages depuis Source dans CE document. Contrairement à ImportPages, qui analyse une chaîne de plage à base de un ("1-3,7,10-12"), ImportPagesByIndex prend les indices directement sous la forme d’un tableau ouvert Pascal à base zéro — idéal lorsque la liste de pages provient de la logique du programme (une liste cochée de miniatures, une requête filtrée, etc.)

InsertAt est l’indice de destination à base zéro pour la PREMIÈRE page importée : passez 0 pour insérer avant la page 1 existante, passez PageCount pour ajouter à la fin. Les valeurs InsertAt hors plage sont bornées par PDFium

Passez un tableau PageIndices vide pour importer chaque page depuis Source (l’équivalent de passer nil au niveau de l’ABI C). C’est le raccourci « tout importer en un seul appel »

Renvoie True en cas de succès. Renvoie False si un indice est hors plage dans Source ou si l’un des documents n’est pas Active. Lève EPdfError lorsque Source est nil

Remarques

Exemple

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;

Voir aussi

ImportPages, ImportNPagesToOne, MovePages