THotPDF.Compression Property

 

THotPDF.Compression

THotPDF

 

Вверх  Назад  Далее

Determines the PDF file compression.

 

type

THPDFCompressionMethod = (cmNone, cmFlateDecode);

 

Delphi syntax:

property Compression: THPDFCompressionMethod;

 

C++ syntax:

__property THPDFCompressionMethod Compression;

 

Описание

Используйте Compression, чтобы получить или задать compression PDF file. Compression принимает следующие значения:

 

Value                Meaning


cmNone                PDF file not compressed.

cmFlateDecode        PDF file encoded using the deflate compression method.

 

Stacking further size reductions

Свойство Compression управляет FlateDecode-кодированием потоков содержимого страницы, шрифтов и изображений, а заодно задает уровень усилий Flate для структурных контейнеров: xref-потока, который выдает UseXRefStream, и контейнеров /Type /ObjStm, которые выдает UseObjectStreams (ISO 32000-1 7.5.7). UseXRefStream заменяет текстовую xref-таблицу сжатым потоком /Type /XRef, чей payload сжимается с предсказанием PNG Up (/Predictor 12), а дыры в списке свободных объектов сворачиваются в подсекции /Index. Реальные многостраничные документы обычно получают еще 20-40% уменьшения размера поверх потоков, сжатых FlateDecode

Чтобы включить всё это разом для одного документа, плюс сабсеттинг шрифтов, задайте CompressDocument

 

Code Example

HPDF := THotPDF.Create( nil );
try
  HPDF.FileName := 'c:\Output.pdf';
  HPDF.BeginDoc;                     // Start PDF document creation
  HPDF.CurrentPage.TextOut( 100, 100, 0, 'Hello World!' );
  HPDF.EndDoc;                       // Finish and save PDF document
finally
  HPDF.Free;
end;