/ViewerPreferences sözlüğündeki /PrintPageRange girdisiproperty PrintPageRanges: TPdfPrintPageRanges; // read only
PDF 1.7, /ViewerPreferences içine, bir görüntüleyicinin yazdırma penceresinde ön seçmesi gereken sayfa aralıklarını anlatan
integer çiftlerinden oluşan bir dizi olarak /PrintPageRange'i ekledi
(PDF 32000-1 § 12.2 Table 150). PDFium o diziyi ayrıştırır ve
bu property üzerinden, her biri 1 tabanlı numaralandırmayla bir StartPage ve
EndPage tutan TPdfPrintPageRange kayıtlarından oluşan bir Pascal dinamik dizisi olarak
sunar
Doküman girdiyi içermiyorsa döndürülen dizi boştur
(Length(Result) = 0) — bunu "tüm sayfaları yazdır" sayın. Tek bir sayfa önerildiğinde
ilgili aralığın StartPage
ve EndPage değerleri eşittir; örn. "yani yalnızca 3. sayfa" için (3, 3)
Bir yazdırma penceresi kurarken dört ipucunun da kullanıcıya gösterilebilmesi için sonucu PrintCopies, PrintScaling ve PrintPaperHandling ile eşleştirin. Diğer baskı tercihleri gibi bu da yalnızca tavsiye niteliğindedir; PDFium işlem sırasında aralığı zorunlu kılmaz
// 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;