function CommitIncrementalSave(Stream: TStream; out Info: TPdfIncrementalCommitInfo): Boolean;
| Stream | وجهة المستند الكامل، بما يشمل خط الأساس وكل مراجعة أُلحقت حتى الآن؛ و nil يُطلق EPdfError |
| Info | يستقبل TPdfIncrementalCommitInfo عدد الكائنات والبايتات وإزاحتي xref السابقة والجديدة وعدد المراجعات وحالتي التعمية والتحقق ونتائج متانة الملف |
| Result | True حين يُكتب الناتج الكامل بعد التحقق |
function CommitIncrementalSave(const FileName: string; out Info: TPdfIncrementalCommitInfo): Boolean;
| FileName | الملف الوجهة، ويُستبدل ذريًا عبر ملف جانبي متين في المجلد نفسه |
| Info | تقرير TPdfIncrementalCommitInfo نفسه المستخدم في صيغة التيار، مع ضبط Durable و ReplacedAtomically بعد نجاح مرحلتي الملف ذينك |
| Result | True حين يستبدل الملف الجانبي المتحقق منه الوجهة |
يقارن المستند الحي بالحالة الملتقطة عند آخر إتمام، أو بخط الأساس في المرة الأولى، ويُلحق الكائنات المتغيرة مع قسم مراجع متقاطعة جديد. لا يُعاد كتابة البايتات السابقة أبدًا، فتبقى كل مراجعة سابقة مطابقة بايتيًا وقابلة للاسترجاع
AppendedByteCount هو حجم المراجعة الجديدة وحدها، بينما يحددان PreviousOutputByteCount و OutputByteCount البادئة غير القابلة للتغيير والناتج الكامل. ويحدد PreviousXrefOffset و OutputXrefOffset سلسلة المراجعات، ويُبلِّغ ChangedObjectCount عن عدد الكائنات التي وجدها المقارنة
يجتاز كل مرشح فحوصات حدود المراجعة المتفرقة وإعادة فتح صارمة مستقلة وفحوصات عدد الصفحات ومعالج الأمان، والتحقق من PDF MAC عند وجوده. ويُبلِّغ Encrypted و Validated عن هذه الخصائص
يكتب overload الملف بجانب الهدف ثم flush ويغلق ويعيد الفتح والتحقق قبل الاستبدال الذري؛ يطلب Windows write-through، ويفحص Unix دعم flush للمجلد قبل الاستبدال وينفذه للأب بعد rename
يحفظ الفشل قبل الاستبدال الهدف القديم ويستعيد أساس الجلسة وعدد المراجعات؛ يرفع فشل flush للمجلد بعد rename الناجح EPdfOutputCommitError من الوحدة الداخلية FPdfPlatform: استُبدل الإخراج فعلًا و Info.ReplacedAtomically=True و Info.Durable=False؛ تحفظ الجلسة الأساس المعتمد لتجنب إلحاق تعديل لاحق بإخراج قديم
تبين Durable نجاح flush المطلوب للمنصة، لا تصادق العتاد أو نظام الملفات بعد فقد الطاقة؛ قد ترفع APIs الملفات الأخرى التي تستخدم الاستبدال نفسه هذا الاستثناء بعد النشر؛ ميزه عن فشل حفظ الإخراج السابق
يُطلق الاستدعاء دون جلسة مفتوحة EPdfError، لذا يجب أن يسبقه BeginIncrementalSave