/PrintPageRange del diccionario
/ViewerPreferences del documentoproperty PrintPageRanges: TPdfPrintPageRanges; // read only
PDF 1.7 agregó /PrintPageRange a /ViewerPreferences como una
secuencia de pares de enteros que describen los rangos de páginas que un visor debería preseleccionar en
su cuadro de diálogo de impresión (PDF 32000-1 § 12.2 Table 150). PDFium analiza ese arreglo y
lo expone mediante esta propiedad como un arreglo dinámico de Pascal con registros
TPdfPrintPageRange, cada uno con un StartPage y un
EndPage en numeración base 1
Cuando el documento no incluye la entrada, el arreglo devuelto está vacío
(Length(Result) = 0) — trátelo como "imprimir todas las páginas". Cuando
se recomienda una sola página, el rango correspondiente tiene valores iguales de StartPage
y EndPage, p. ej. (3, 3) para "solo la página 3"
Combine el resultado con PrintCopies, PrintScaling y PrintPaperHandling al conectar un cuadro de diálogo de impresión para que las cuatro pistas puedan mostrarse al usuario. Al igual que las demás preferencias de impresión, esto es solo consultivo; PDFium no aplica el rango durante el renderizado
// Build a comma-separated string like "1-3, 7, 10-12".
var Ranges: TPdfPrintPageRanges;
var S: string;
var I: Integer;
begin
Ranges := Pdf1.PrintPageRanges;
if Length(Ranges) = 0 then Exit;
for I := 0 to High(Ranges) do
begin
if S <> '' then S := S + ', ';
if Ranges[I].StartPage = Ranges[I].EndPage then
S := S + IntToStr(Ranges[I].StartPage)
else
S := S + Format('%d-%d', [Ranges[I].StartPage, Ranges[I].EndPage]);
end;
editRanges.Text := S;
end;