BI/ID/EI in un image XObject riutilizzabile e sostituendo ogni blocco inline con un operatore /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;
Ogni flusso di contenuto della pagina viene decodificato e scansionato per le immagini inline; ogni blocco BI/ID/EI viene estratto in un nuovo oggetto indiretto image XObject
Le abbreviazioni del dizionario delle immagini inline (/W, /H, /BPC, /CS, /F, abbreviazioni di color-space e valore filtro) vengono espanse ai loro nomi completi di image XObject, così l'oggetto estratto è conforme agli standard
Il blocco inline nel flusso di contenuto viene sostituito da /ImN Do, il dizionario /Resources /XObject della pagina viene aggiornato con il nuovo riferimento e il flusso di contenuto riscritto viene compresso con Flate
I numeri e le generazioni degli oggetti esistenti restano stabili; i nuovi image XObject e i flussi di contenuto vengono aggiunti
TPdfInlineImageExternaliseOptions.SkipUnsafePages lascia invariate le pagine i cui confini delle immagini inline non possono essere determinati invece di interrompere il salvataggioTPdfInlineImageExternaliseReport riporta i conteggi esternalizzati, saltati e falliti più il conteggio di XObject creati/Resources indiretto o contenuto non risolvibile vengono saltateAllowSignedDocument non sia esplicitamente abilitato perché una riscrittura completa invalida gli intervalli di byte delle firme esistenti
Options.SkipUnsafePages:= True;
Pdf.SaveAsInlineImagesExternalised('externalised.pdf', Options, Report);
WriteLn('externalised ', Report.ExternalisedCount, ' inline images');