THotPDF.LinearizeOutput Property
Hallitsee, kirjoitetaanko äskettäin tuotettu asiakirja riippuvuusjärjestyksessä linearoituna asetteluna nopeaa ensimmäisen sivun näyttöä varten HTTP-tavualuekuljetuksen yli
Määrittelyt
// Delphi
property LinearizeOutput: Boolean;
// C++Builder
__property bool LinearizeOutput;
Oletus
False
Tulosteen asettelu
Kun tämä on otettu käyttöön ennen kutsuja BeginDoc ja EndDoc, HotPDF suorittaa rajatun asettelukierroksen ja kirjoittaa sitten kohdevirran suoraan linearoidussa järjestyksessä
- Linearointiparametrisanakirja sisältyy ensimmäiseen 1024 tavuun
- Ensimmäinen sivu ja sen yksityiset riippuvuudet edeltävät myöhempiä sivuosioita
- Jaetut riippuvuudet on ryhmitelty niin, että alueistietoiset lukijat voivat välttää turhia pyyntöjä
- Ensisijainen vihjevirta sisältää sivusiirto- ja jaettujen objektien vihjetaulukot
- Varhainen ristiviitetaulukko tukee ensimmäisen sivun käyttöä ja pääristiviitetaulukko täydentää asiakirjan
Yhteensopivuus ja rajoitukset
- Linearointi edellyttää PDF 1.2:ta tai uudempaa; HotPDF päivittää vanhemman valitun version, ellei
StrictVersionLockole käytössä, jolloin kirjoittaminen nostaa poikkeuksen - Linearointikirjoitin tuottaa perinteiset tekstiristiviitetaulukot ja purkamattomat epäsuorat objektit silloinkin, kun
UseXRefStreamtaiUseObjectStreamson käytössä - Vihjetaulukkomuoto käyttää 32-bittisiä siirtymiä, joten tuloste, joka on vähintään 4 GiB, hylätään selkeällä poikkeuksella
- Web-palvelimen tai tallennuskuljetuksen on tuettava tavualuepyyntöjä nopean ensimmäisen sivun toimituksen tarjoamiseksi
- Tämä ominaisuus muuttaa tuotetun asiakirjan tulostetta eikä lataa olemassa olevaa etä-PDF:ää progressively
Delphi-esimerkki
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-esimerkki
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();