خاصية THotPDF.LinearizeOutput
تتحكم فيما إذا كان مستند مُولَّد حديثًا يُكتب بتخطيط خطي مرتب وفق التبعية لعرض سريع للصفحة الأولى عبر ناقل نطاق بايت HTTP
الإعلانات
// Delphi
property LinearizeOutput: Boolean;
// C++Builder
__property bool LinearizeOutput;
الافتراضي
False
تخطيط المخرجات
عند التمكين قبل BeginDoc وEndDoc، ينفذ HotPDF تمرير تخطيط محدود ثم يكتب تدفق الوجهة مباشرة بترتيب خطي
- يحتوي قاموس معاملات الخطية ضمن أول 1024 بايت
- تسبق الصفحة الأولى وتبعياتها الخاصة أقسام الصفحات اللاحقة
- تُجمَّع التبعيات المشتركة حتى يتجنب القارئون الواعون بالنطاق الطلبات الزائدة
- يحتوي تدفق التلميحات الأساسي على جداول تلميحات لإزاحة الصفحات والكائنات المشتركة
- يدعم جدول إسناد ترافقي مبكر الوصول إلى الصفحة الأولى ويكمل جدول إسناد ترافقي رئيسي المستند
التوافق والحدود
- تتطلب الخطية PDF 1.2 أو أحدث؛ يرقّي HotPDF إصدارًا أقدم محددًا ما لم يكن
StrictVersionLockمفعّلًا، وفي تلك الحالة يرفع الكتاب استثناءً - يُصدر كاتب الخطية جداول إسناد ترافقي نصية تقليدية وكائنات غير مباشرة غير معبأة حتى عند تفعيل
UseXRefStreamأوUseObjectStreams - تستخدم صيغة جدول التلميحات إزاحات 32 بت، لذا تُرفض المخرجات عند 4 جيبيبايت أو فوقها باستثناء واضح
- يجب أن يدعم خادم الويب أو ناقل التخزين طلبات نطاق البايت لتوفير تسليم سريع للصفحة الأولى
- تغيّر هذه الخاصية مخرجات المستند المُولَّد ولا تحمّل تدريجيًا PDF بعيدًا موجودًا
مثال Delphi
PDF := THotPDF.Create(nil);
try
PDF.FileName := 'fast-view.pdf';
PDF.Version := pdf17;
PDF.LinearizeOutput := True;
PDF.BeginDoc;
PDF.Canvas.TextOut(72, 72, 'First page');
PDF.EndDoc;
finally
PDF.Free;
end;
مثال C++Builder
std::unique_ptr<THotPDF> pdf(new THotPDF(nullptr));
pdf->FileName = L"fast-view.pdf";
pdf->Version = pdf17;
pdf->LinearizeOutput = true;
pdf->BeginDoc();
pdf->Canvas->TextOut(72, 72, L"First page");
pdf->EndDoc();