BI/ID/EI إلى image XObject قابل لإعادة الاستخدام ومستبدلةً كل كتلة مضمَّنة بعامل /ImN Dofunction SaveAsInlineImagesExternalised(Stream: TStream; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): Boolean;
function SaveAsInlineImagesExternalised(const FileName: string; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): Boolean;
يُفك ترميز تيار محتوى كل صفحة ويُمسح بحثًا عن الصور المضمَّنة؛ وتُستخرج كل كتلة BI/ID/EI إلى كائن image XObject غير مباشر جديد
تُوسَّع اختصارات قاموس الصورة المضمَّنة (/W و /H و /BPC و /CS و /F واختصارات قيم فضاء اللون والمرشح) إلى أسماء image-XObject الكاملة لها بحيث يكون الكائن المستخرج مطابقًا للمعايير
تُستبدل الكتلة المضمَّنة في تيار المحتوى بـ /ImN Do، ويُحدَّث قاموس الصفحة /Resources /XObject بالمرجع الجديد، ويُضغط تيار المحتوى المعاد كتابته بـ Flate
تظل أرقام كائنات وأجيال الكائنات الموجودة مستقرة؛ وتُضاف الصور XObjects الجديدة وتيارات المحتوى الجديدة
TPdfInlineImageExternaliseOptions.SkipUnsafePages الصفحات التي يتعذر تحديد حدود صورها المضمَّنة دون تغيير بدلًا من إلغاء الحفظTPdfInlineImageExternaliseReport عددي المُخرَج والمتخطى والفاشل إضافة إلى عدد XObjects المنشأة/Resources غير المباشرة أو المحتوى غير القابل للحلAllowSignedDocument صراحةً لأن إعادة الكتابة الكاملة تبطل نطاقات بايتات التوقيع الموجودة
Options.SkipUnsafePages:= True;
Pdf.SaveAsInlineImagesExternalised('externalised.pdf', Options, Report);
WriteLn('externalised ', Report.ExternalisedCount, ' inline images');