THotPDF.LinearizeOutput Property
Kontroliše da li se novo generisani dokument upisuje u linearnom rasporedu uređenom po zavisnostima radi brzog prikaza prve stranice preko HTTP transporta zasnovanog na opsezima bajtova
Deklaracije
// Delphi
property LinearizeOutput: Boolean;
// C++Builder
__property bool LinearizeOutput;
Podrazumevano
False
Izlazni raspored
Kada je omogućeno pre BeginDoc i EndDoc, HotPDF izvršava ograničeni prolaz rasporeda i zatim upisuje odredišni tok direktno u linearizovanom redosledu
- Rečnik parametra linearizacije je sadržan u prvih 1024 bajta
- Prva stranica i njene privatne zavisnosti prethode kasnijim sekcijama stranica
- Deljene zavisnosti su grupisane tako da čitači svesni opsega mogu da izbegnu redundatne zahteve
- Primarni tok nagoveštaja sadrži tabele nagoveštaja ofseta stranica i deljenih objekata
- Rana tabela ukrštenih referenci podržava pristup prvoj stranici, a glavna tabela ukrštenih referenci kompletira dokument
Kompatibilnost i ograničenja
- Linearizacija zahteva PDF 1.2 ili noviji; HotPDF nadograđuje stariju izabranu verziju osim ako je
StrictVersionLockomogućen, u kom slučaju upisivanje izbacuje izuzetak - Linearizovani upisivač emituje tradicionalne tekstualne tabele ukrštenih referenci i raspakovane indirektne objekte čak i kada su
UseXRefStreamiliUseObjectStreamsomogućeni - Format tabele nagoveštaja koristi 32-bitne ofsete, tako da se izlaz na ili iznad 4 GiB odbacuje sa jasnim izuzetkom
- Veb server ili transport skladišta mora da podržava zahteve opsega bajtova da bi obezbedio brzu isporuku prve stranice
- Ovo svojstvo menja izlaz generisanog dokumenta i ne učitava postojeći udaljeni PDF progresivno
Delphi primer
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 primer
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();