BI/ID/EI-inline-bild till en återanvändbar bild-XObject och ersätter varje inline-block med en /ImN Do-operatorfunction 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;
Varje sidinnehållsström dekodas och genomsöks efter inline-bilder; varje BI/ID/EI-block extraheras till ett nytt indirekt bild-XObject-objekt
Förkortningarna i inline-bildsordboken (/W, /H, /BPC, /CS, /F, förkortningar för färgrymds- och filtervärden) expanderas till sina fulla bild-XObject-namn så att det extraherade objektet följer standarden
Inline-blocket i innehållsströmmen ersätts med /ImN Do, sidans /Resources /XObject-ordbok uppdateras med den nya referensen och den omskrivna innehållsströmmen Flate-komprimeras
Objektnummer och generationer för befintliga objekt förblir stabila; nya bild-XObjects och innehållsströmmar läggs till i slutet
TPdfInlineImageExternaliseOptions.SkipUnsafePages lämnar sidor vars inline-bildsgränser inte kan fastställas orörda i stället för att avbryta sparandetTPdfInlineImageExternaliseReport rapporterar antal externaliserade, överhoppade och misslyckade samt antalet skapade XObjects/Resources eller olösbart innehåll hoppas överAllowSignedDocument uttryckligen aktiveras, eftersom en fullständig omskrivning ogiltigförklarar befintliga signaturbyteintervall
Options.SkipUnsafePages:= True;
Pdf.SaveAsInlineImagesExternalised('externalised.pdf', Options, Report);
WriteLn('externalised ', Report.ExternalisedCount, ' inline images');