وثائق PDFiumPas

PrintPageRanges الخاصية

يحافظ إدخال API هذا على المعرّفات والتواقيع وكتل الكود ومصطلحات PDF بصيغتها الأصلية.
المكون: TPdf  ·  الوحدة: PDFium
قائمة مفكوكة لنطاقات صفحات تبدأ من 1 يريد مؤلف PDF أن يقترحها مربع حوار الطباعة — إدخال /PrintPageRange في قاموس /ViewerPreferences الخاص بالمستند

الصياغة

property PrintPageRanges: TPdfPrintPageRanges; // read only

الوصف

أضاف PDF 1.7 الإدخال /PrintPageRange إلى /ViewerPreferences على هيئة تسلسل من أزواج أعداد صحيحة تصف نطاقات الصفحات التي ينبغي لعارض ما أن يحدّدها مسبقًا في مربع الطباعة (PDF 32000-1 § 12.2 Table 150). يحلل PDFium تلك المصفوفة ويعرضها عبر هذه الخاصية كمصفوفة ديناميكية في Pascal من سجلات TPdfPrintPageRange، يحمل كل سجل StartPage و EndPage بالترقيم الذي يبدأ من 1

عندما لا يتضمن المستند الإدخال تكون المصفوفة المعادة فارغة (Length(Result) = 0) — وتعامل على أنها «اطبع كل الصفحات». وعندما تكون صفحة واحدة موصى بها، يكون للنطاق المقابل القيمتان المتساويتان StartPage و EndPage، مثل (3, 3) لـ «الصفحة 3 فقط»

اقرن النتيجة بـ PrintCopies و PrintScaling و PrintPaperHandling عند توصيل مربع حوار طباعة بحيث يمكن عرض التلميحات الأربعة كلها للمستخدم. وكغيرها من تفضيلات الطباعة فهذه إرشادية فقط؛ فـ PDFium لا يفرض النطاق أثناء العرض

ملاحظات

مثال

// 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;

انظر أيضا

PrintCopies, PrintScaling, PrintPaperHandling, ViewerPreference