CompressPage
خصائص الصفحة
الوصف
يضغط تدفق محتوى الصفحة المحددة حاليًا باستخدام Flate (zlib). والسلوك مطابق لـ CompressContent لكنه مقيد بصفحة واحدة. وتنتج المرور عبر كل صفحة بـ SelectPage وCompressPage النتيجة نفسها التي ينتجها استدعاء واحد لـ CompressContent، مع ميزة إمكانية إبلاغ التطبيق عن تقدم كل صفحة في الواجهة
الصيغة
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