PDFium Delphi Component Docs

SaveAsFlateRecompressed الطريقة

المكوّن: TPdf  ·  الوحدة: PDFium
تعيد كتابة المستند وتعيد ترميز تيارات FlateDecode المؤهلة عند أقصى ضغط، مستبدلةً التيار فقط عندما يتجاوز توفير البايتات المقاس عتبة المستدعي

الصياغة

function SaveAsFlateRecompressed(Stream: TStream; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): Boolean;

function SaveAsFlateRecompressed(const FileName: string; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): Boolean;

الوصف

يكتب PDFium أولًا نسخة غير تزايدية من المستند الحالي في الذاكرة، ثم ينفذ المُغلِّف مسح قابلية وصول على مستوى المستند تمامًا مثل SaveAsReachable

يُفك ترميز كل تيار FlateDecode قابل للوصول بـ PdfInflate ويُعاد ترميزه بـ DeflateCompress عند أقصى ضغط؛ ولا تُستبدل سوى التيارات التي يتجاوز توفيرها المقاس كلاً من MinSavingBytes و MinSavingRatio

تظل أرقام الكائنات والأجيال مستقرة، بحيث تتغير فقط حمولات التيارات المعاد ضغطها وقيم /Length المباشرة لها؛ ويظل كل مرجع متبادل ناجٍ صالحًا دون إعادة ترقيم

الإخراج مراجعة كلاسيكية واحدة مع مقطع الذيل المعاد بناؤه يحمل /Root و /Info و /ID للأمام

Policies and limits

مثال

Options.MinSavingBytes:= 64;
Options.MinSavingRatio:= 0.1;
Pdf.SaveAsFlateRecompressed('recompressed.pdf', Options, Report);
WriteLn('recompressed ', Report.RecompressedCount, ' streams');

انظر أيضًا

SaveAsReachable, SaveAsDeduplicated, SaveAs