/PrintPageRange i dokumentets /ViewerPreferences-ordbokproperty PrintPageRanges: TPdfPrintPageRanges; // read only
PDF 1.7 lade till /PrintPageRange i /ViewerPreferences som en följd av heltalsposter som beskriver de sidintervall som en visare bör förvälja i sin utskriftsdialog (PDF 32000-1 § 12.2 Table 150). PDFium tolkar den arrayen och exponerar den genom den här egenskapen som en Pascal-dynamisk array av poster av typen TPdfPrintPageRange, där varje post innehåller StartPage och EndPage med 1-baserad numrering
När dokumentet inte innehåller posten är den returnerade arrayen tom (Length(Result) = 0) — behandla det som "skriv ut alla sidor". När en enda sida rekommenderas har motsvarande intervall samma värden i StartPage och EndPage, till exempel (3, 3) för "endast sida 3"
Koppla resultatet med PrintCopies, PrintScaling och PrintPaperHandling när du kopplar en utskriftsdialog, så att alla fyra hints kan visas för användaren. Liksom de andra utskriftsinställningarna är detta endast rådgivande; PDFium framtvingar inte intervallet under rendering
// Bygg en kommaseparerad sträng som "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;