مشخصهٔ THotPDF.LinearizeOutput
کنترل میکند که آیا یک سند تازهتولیدشده در یک چیدمان خطیسازیشده با ترتیب وابستگی برای نمایش سریع صفحهٔ نخست از طریق یک انتقال بازهبایت HTTP نوشته میشود
اعلانها
// Delphi
property LinearizeOutput: Boolean;
// C++Builder
__property bool LinearizeOutput;
پیشفرض
False
چیدمان خروجی
هنگامی که پیش از BeginDoc و EndDoc فعال باشد، HotPDF یک گذر چیدمان محدود انجام میدهد و سپس جریان مقصد را مستقیماً به ترتیب خطیسازیشده مینویسد
- دیکشنری پارامتر خطیسازی در ۱۰۲۴ بایت نخست جای دارد
- صفحهٔ نخست و وابستگیهای خصوصی آن پیش از بخشهای صفحهٔ بعدی قرار میگیرند
- وابستگیهای مشترک گروهبندی میشوند تا خوانندههای آگاه از بازه از درخواستهای زائد اجتناب کنند
- جریان راهنمای اصلی حاوی جدولهای راهنمای انحراف-صفحه و شیء مشترک است
- یک جدول مرجع متقاطع زودرس از دسترسی صفحهٔ نخست پشتیبانی میکند و یک جدول مرجع متقاطع اصلی سند را کامل میکند
سازگاری و محدودیتها
- خطیسازی نیازمند PDF 1.2 یا بالاتر است؛ HotPDF یک نسخهٔ انتخابی قدیمیتر را ارتقا میدهد مگر آنکه
StrictVersionLockفعال باشد، که در این صورت نوشتن یک استثنا raise میکند - نویسندهٔ خطیسازیشده جدولهای مرجع متقاطع متنی سنتی و اشیای غیرمستقیم بازبستهبندیشده را منتشر میکند حتی وقتی
UseXRefStreamیاUseObjectStreamsفعال است - قالب جدول راهنما از انحرافات ۳۲ بیتی استفاده میکند، پس خروجی برابر یا بالاتر از ۴ GiB با یک استثنای واضح رد میشود
- سرور وب یا انتقال ذخیرهسازی باید از درخواستهای بازهبایت برای ارائهٔ تحویل سریع صفحهٔ نخست پشتیبانی کند
- این مشخصه خروجی سند تولیدشده را تغییر میدهد و یک 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();