CompressContent
خصائص المستند
الوصف
يضغط كل تدفق محتوى صفحة في المستند المحدد حاليًا. وتُستخدم خوارزمية Flate (zlib) فتحمل التدفقات الناتجة مرشح /FlateDecode عند حفظ المستند. وتُترك التدفقات المضغوطة سلفًا دون مساس
على Windows يُستخدم واجهة zlib-ng المرفقة في وضع متوافق مع zlib. وتربط بنيات Win64 مجموعة كائنات zlib-ng SIMD لوقت التشغيل bcc64x؛ وتحتفظ Win32 بمجموعة الكائنات العامة الموجهة للتوافق. ولن تحتاج شيفرات Delphi وActiveX وDLL وC++Builder القائمة إلى أي تغييرات مصدر
الصيغة
Delphi
Function TPDFlib.CompressContent: Integer;
ActiveX
Function PDFlib::CompressContent() As Long
DLL
int DLCompressContent(int InstanceID);
قيم الإرجاع
| 0 | لا يوجد مستند مفتوح أو فشل الضغط |
|---|---|
| 1 | ضُغطت تدفقات محتوى الصفحة بنجاح |
ملاحظات
هذه عملية على مستوى المستند. استخدم CompressPage إذا كنت تحتاج فقط ضغط الصفحة المحددة حاليًا. وللتحكم فيما إذا كانت الصور والخطوط المضافة حديثًا تُخزن مضغوطة استخدم CompressImages وCompressFonts على التوالي
شغّل هذا مرة واحدة قبل SaveToFile عند تقليص مستند بُني حديثًا؛ وعادة تكون التوفيرات كبيرة على الصفحات الغنية بالنص وضئيلة على الصفحات المكونة غالبًا من بيانات صور مضغوطة مسبقًا
مثال
// Build a document, compress everything, then save
PDF.NewDocument;
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.PrintText(50, 750, 'Compressed document');
PDF.CompressContent; // page streams -> /FlateDecode
PDF.CompressImages(1); // also flate-encode any subsequent images
PDF.SaveToFile('compressed.pdf');