CompressPage

Ιδιότητες σελίδας

Περιγραφή

Συμπιέζει το content stream της επιλεγμένης σελίδας με 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Το content stream της σελίδας συμπιέστηκε (ή ήταν ήδη συμπιεσμένο και αφέθηκε ως έχει)

Παρατηρήσεις

Ήδη συμπιεσμένα streams παραλείπονται, οπότε διπλή κλήση CompressPage στην ίδια σελίδα είναι αβλαβής. Το build Win64 χρησιμοποιεί το bundled σύνολο αντικειμένων 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