Properti THotPDF.LinearizeOutput
Mengontrol apakah dokumen yang baru dibuat ditulis dalam tata letak terlinearisasi berurutan-dependensi untuk tampilan halaman-pertama yang cepat melalui transportasi rentang-byte HTTP
Deklarasi
// Delphi
property LinearizeOutput: Boolean;
// C++Builder
__property bool LinearizeOutput;
Default
False
Tata letak keluaran
Ketika diaktifkan sebelum BeginDoc dan EndDoc, HotPDF melakukan pass tata letak berbatas dan kemudian menulis stream tujuan langsung dalam urutan terlinearisasi
- Kamus parameter linearisasi terkandung dalam 1024 byte pertama
- Halaman pertama dan dependensi privatnya mendahului bagian halaman selanjutnya
- Dependensi bersama dikelompokkan sehingga pembaca yang sadar-rentang dapat menghindari permintaan redundan
- Stream petunjuk utama berisi tabel petunjuk offset-halaman dan objek-bersama
- Tabel referensi-silang awal mendukung akses halaman-pertama dan tabel referensi-silang utama menyelesaikan dokumen
Kompatibilitas dan batas
- Linearisasi memerlukan PDF 1.2 atau lebih baru; HotPDF meningkatkan versi terpilih yang lebih lama kecuali
StrictVersionLockdiaktifkan, dalam hal ini penulisan memunculkan pengecualian - Penulis terlinearisasi memancarkan tabel referensi-silang teks tradisional dan objek tidak-langsung yang tidak-dipaket bahkan ketika
UseXRefStreamatauUseObjectStreamsdiaktifkan - Format tabel-petunjuk menggunakan offset 32-bit, sehingga keluaran pada atau di atas 4 GiB ditolak dengan pengecualian yang jelas
- Server web atau transportasi penyimpanan harus mendukung permintaan rentang-byte untuk menyediakan pengiriman halaman-pertama yang cepat
- Properti ini mengubah keluaran dokumen-yang-dibuat dan tidak secara progresif memuat PDF jarak jauh yang ada
Contoh 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;
Contoh 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();