Lastnost THotPDF.LinearizeOutput
Upravlja, ali je novo ustvarjeni dokument zapisan v linearnizirani razporeditvi, razvrščeni po odvisnostih, za hiter prikaz prve strani prek prenosnega medija z bajtnimi dosegi HTTP
Deklaracije
// Delphi
property LinearizeOutput: Boolean;
// C++Builder
__property bool LinearizeOutput;
Privzeto
False
Razporeditev izhoda
Ko je pred BeginDoc in EndDoc omogočena, HotPDF izvede omejen prehod razporeditve in nato zapiše ciljni tok neposredno v linearniziranem vrstnem redu
- Slovar parametrov linearnizacije je vsebovan v prvih 1024 bajtih
- Prva stran in njene zasebne odvisnosti prehitevajo poznejše razdelke strani
- Skupne odvisnosti so združene tako, da se bralci, ki se zavedajo dosega, lahko izognejo odvečnim zahtevam
- Glavni tok namigov vsebuje tabele namigov odmikov strani in skupnih predmetov
- Zgodnja tabela navzkrižnih referenc podpira dostop do prve strani, glavna tabela navzkrižnih referenc pa dokonča dokument
Združljivost in omejitve
- Linearnizacija zahteva PDF 1.2 ali novejšega; HotPDF nadgradi starejšo izbrano različico, razen če je omogočen
StrictVersionLock, v tem primeru pisanje sproži izjemo - Linearnizacijski zapisovalnik izpisuje tradicionalne besedilne tabele navzkrižnih referenc in nepakirane posredne predmete, tudi ko sta omogočena
UseXRefStreamaliUseObjectStreams - Oblika tabele namigov uporablja 32-bitne odmike, zato je izhod pri ali nad 4 GiB zavrnjen z jasno izjemo
- Spletni strežnik ali transport shrambe mora podpirati zahteve z bajtnimi dosegi, da omogoči hitro dostavo prve strani
- Ta lastnost spreminja izhod ustvarjenega dokumenta in ne postopoma nalaga obstoječega oddaljenega PDF-ja
Primer v Delphi-ju
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;
Primer v C++Builderju
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();