THotPDF.LinearizeOutput Property
Upravlja hoće li se novostvoreni dokument zapisati u izgledu lineariziranom prema ovisnostima za brzo prikazivanje prve stranice putem HTTP prijenosa raspona bajtova
Deklaracije
// Delphi
property LinearizeOutput: Boolean;
// C++Builder
__property bool LinearizeOutput;
Zadana vrijednost
False
Output layout
Kada je omogućeno prije BeginDoc i EndDoc, HotPDF izvodi ograničeni prolaz izgleda, a zatim zapisuje odredišni tok izravno u lineariziranom redoslijedu
- Rječnik parametara linearizacije sadržan je u prvih 1024 bajta
- Prva stranica i njezine privatne ovisnosti prethode kasnijim sekcijama stranica
- Dijeljene ovisnosti grupirane su tako da čitači svjesni raspona mogu izbjeći suvišne zahtjeve
- Primarni tok savjeta sadrži tablice savjeta pomaka stranice i dijeljenih objekata
- Rana tablica ukrštenih referenci podržava pristup prvoj stranici, a glavna tablica ukrštenih referenci dovršava dokument
Kompatibilnost i ograničenja
- Linearizacija zahtijeva PDF 1.2 ili noviji; HotPDF nadograđuje stariju odabranu verziju osim ako
StrictVersionLocknije omogućen, u kom slučaju zapisivanje podiže iznimku - Linearizirani zapisivač emitira tradicionalne tekstualne tablice ukrštenih referenci i raspakirane neizravne objekte čak i kada je
UseXRefStreamiliUseObjectStreamsomogućen - Format tablice savjeta koristi 32-bitne pomake, pa se izlaz od 4 GiB ili više odbacuje s jasnom iznimkom
- Web poslužitelj ili prijenos pohrane mora podržavati zahtjeve raspona bajtova kako bi omogućio brzu isporuku prve stranice
- Ovo svojstvo mijenja izlaz generiranog dokumenta i ne učitava progresivno postojeći udaljeni PDF
Delphi example
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 example
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();