CompressPage
מאפייני עמוד
תיאור
דוחסת את זרם התוכן של הדף הנבחר כרגע באמצעות Flate (zlib). ההתנהגות זהה ל-CompressContent אך מוגבלת לדף בודד. לולאה על כל דף עם SelectPage ו-CompressPage מניבה את אותה תוצאה כמו קריאה אחת ל-CompressContent, ביתרון שהאפליקציה יכולה לדווח על התקדמות לכל דף בממשק המשתמש.
תחביר
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 על אותו דף אינה מזיקה. ה-build של Win64 משתמש בערכת האובייקטים zlib-ng עם SIMD המצורפת; ה-build של 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