PDFium Component Docs

PrintPageRanges Özellik

Bu API girdisi tanımlayıcıları, imzaları, kod bloklarını ve PDF terimlerini özgün biçiminde korur.
Bileşen: TPdf  ·  Birim: PDFium
PDF yazarının yazdırma iletişim kutusunda önermesini istediği 1 tabanlı sayfa aralıklarının çözümlenmiş listesi — belgenin /ViewerPreferences sözlüğündeki /PrintPageRange girdisi

Söz dizimi

property PrintPageRanges: TPdfPrintPageRanges; // read only

Açıklama

PDF 1.7, /ViewerPreferences içine /PrintPageRange girdisini ekledi; bu giriş, bir görüntüleyicinin yazdırma iletişim kutusunda önceden seçmesi gereken sayfa aralıklarını tanımlayan tamsayı çiftleri dizisidir (PDF 32000-1 § 12.2 Table 150). PDFium bu diziyi ayrıştırır ve bu özellik üzerinden her biri 1 tabanlı numaralandırmayla bir StartPage ve EndPage taşıyan TPdfPrintPageRange kayıtlarından oluşan bir Pascal dinamik dizisi olarak sunar

Belge bu girdiyi içermiyorsa dönen dizi boştur (Length(Result) = 0) — bunu "tüm sayfaları yazdır" olarak ele alın. Tek bir sayfa önerildiğinde karşılık gelen aralıkta StartPage ve EndPage değerleri eşittir; örneğin "yalnızca 3. sayfa" için (3, 3)

Sonucu PrintCopies, PrintScaling ve PrintPaperHandling ile birlikte kullanın; böylece dört ipucu da kullanıcıya gösterilebilir. Diğer yazdırma tercihleri gibi bu da yalnızca tavsiyedir; PDFium aralığı işleme sırasında zorlamaz

Notlar

Örnek

// "1-3, 7, 10-12" gibi virgülle ayrılmış bir dizge oluştur
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;

Ayrıca bkz.

PrintCopies, PrintScaling, PrintPaperHandling, ViewerPreference