PDFium Delphi Component Docs

Compressed الخاصية

Component: TPdf  ·  Unit: PDFium
يتحكم في ما إذا كانت streams في ملف PDF الناتج ستُضغط باستخدام FlateDecode عند استدعاء SaveAs / Save. يفحص محرك الضغط بعد الحفظ ملف PDF المُسلسَل، ويستبدل أي streams غير مضغوطة بنظيراتها المضغوطة عبر zlib، ثم يعيد بناء xref table. تمر streams المضغوطة مسبقًا من دون تغيير

Syntax

property Compressed: Boolean; // default True

Description

تتحكم Compressed فيما إذا كان استدعاء SaveAs التالي (وأخواته) سيطبق ضغط المسارات بعد الكتابة. عندما تكون True — وهي الافتراضي — يسلسل PDFium Delphi Component المستند عبر PDFium، ثم يشغّل تمريرة تستبدل أي مسارات محتوى / بيانات وصفية غير مضغوطة بنظائرها المضغوطة عبر FlateDecode ويعيد كتابة جدول الإحالات المرجعية ليعكس الإزاحات الجديدة.

وعندما تكون False تُكتب مسارات الإخراج كما هي. والملف الناتج أكبر عادة بمقدار 2-10 أضعاف، لكنه مقروء للإنسان عند فتحه في محرر نصوص، وهذا مفيد لتنقيح مسارات المحتوى ومقارنة نسختي PDF عبر diff، أو تغذية الإخراج إلى أداة واعية بتراكيب PDF تفضل المدخلات غير المضغوطة.

يغيّر ضبط Compressed سلوك الحفظ التالي فقط؛ والمستند في الذاكرة لا يتأثر. فالمستند الذي حُمِّل مضغوطًا وحُفظ بـ Compressed := False سيُفك ضغطه عند الإخراج؛ والمستند الذي حُمِّل غير مضغوط وحُفظ بـ Compressed := True سيُضغط عند الإخراج. أما إعادة تدوير مستند مضغوط بالكامل مع Compressed := True فتعطي حجم ملف شبه مطابق — إذ يتعرف المحرك على المسارات المضغوطة مسبقًا ولا يعيد ضغطها.

Remarks

Example

// Save an uncompressed copy alongside the compressed original for debugging
begin
  Pdf.Active := True;
  Pdf.Compressed := True;
  Pdf.SaveAs('output.pdf'); // production copy
  Pdf.Compressed := False;
  Pdf.SaveAs('output_debug.pdf'); // human-readable copy
end;

See Also

SaveAs, Save, Active, Password