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 | Failed — no document is open or no page is selected. |
|---|---|
| 1 | Поток содержимого страницы сжат (либо уже был сжат и оставлен как есть) |
Примечания
Уже сжатые потоки пропускаются, поэтому двойной вызов CompressPage на одной странице безвреден. Сборка Win64 использует комплект SIMD-объектов zlib-ng, сборка 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