CompressPage
Властивості сторінки
Опис
Стискає потік вмісту поточно вибраної сторінки через Flate (zlib). Поведінка ідентична CompressContent, але обмежена однією сторінкою. Цикл по кожній сторінці з SelectPage і CompressPage дає той самий результат, що й один виклик CompressContent, з перевагою, що застосунок може звітувати прогрес посторінково в UI
Синтаксис
Delphi
Function TPDFlib.CompressPage: Integer;
ActiveX
Function PDFlib::CompressPage() As Long
DLL
int DLCompressPage(int InstanceID);
Повернуті значення
| 0 | Невдача — не відкрито жодного документа чи не вибрано сторінки |
|---|---|
| 1 | Потік вмісту сторінки стиснуто (або вже був стиснутий і лишений як є) |
Примітки
Уже стиснуті потоки пропускаються, тож подвійний виклик CompressPage на тій самій сторінці нешкідливий. Збірка Win64 використовує комплект об'єктів zlib-ng із SIMD; збірка Win32 — загальний комплект об'єктів zlib-ng у сумісному з zlib режимі
Приклад
// Compress every page individually so the UI can report progress
var
I, N: Integer;
begin
N := PDF.GetPageCount;
for I := 1 to N do
begin
PDF.SelectPage(I);
PDF.CompressPage;
ProgressBar1.Position := (I * 100) div N;
Application.ProcessMessages;
end;
PDF.SaveToFile('compressed.pdf');
end;Див. також
CompressContent, CompressImages, CompressFonts, SelectPage, PageCount