מאפיין 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 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();