CompressPage

מאפייני עמוד

תיאור

דוחסת את זרם התוכן של הדף הנבחר כרגע באמצעות Flate (zlib). ההתנהגות זהה ל-CompressContent אך מוגבלת לדף בודד. לולאה על כל דף עם SelectPage ו-CompressPage מניבה את אותה תוצאה כמו קריאה אחת ל-CompressContent, ביתרון שהאפליקציה יכולה לדווח על התקדמות לכל דף בממשק המשתמש.

תחביר

Delphi

Function TPDFlib.CompressPage: Integer;

ActiveX

Function PDFlib::CompressPage() As Long

DLL

int DLCompressPage(int InstanceID);

ערכי החזרה

0Failed — 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