SaveAs / Save wordt aangeroepen. De compressiemotor na opslag scant de geserialiseerde PDF, vervangt niet-gecomprimeerde streams door hun zlib-gecomprimeerde equivalenten en bouwt de xref-tabel opnieuw op. Al gecomprimeerde streams gaan onveranderd doorproperty Compressed: Boolean; // default True
Compressed bepaalt of de volgende aanroep van SaveAs (en familie) post-write streamcompressie toepast. Wanneer True — de standaardwaarde — serialiseert PDFiumPas het document via PDFium en voert daarna een pass uit die on-gecomprimeerde content- / metadata-streams vervangt door FlateDecode-gecomprimeerde equivalenten en de cross-reference table herschrijft om de nieuwe offsets te weerspiegelen
Wanneer False worden uitvoerstreams onveranderd geschreven. Het resulterende bestand is doorgaans 2-10× groter maar is leesbaar voor mensen wanneer het in een teksteditor wordt geopend, wat handig is voor het debuggen van contentstreams, het vergelijken van twee PDF-revisies met diff of het voeden van de uitvoer aan een tool die PDF-syntaxis kent en on-gecomprimeerde invoer verkiest
Het instellen van Compressed verandert alleen het gedrag van de volgende opslag; het document in het geheugen blijft onaangetast. Een document dat gecomprimeerd is geladen en met Compressed := False wordt opgeslagen, zal bij uitvoer decomprimeren; een niet-gecomprimeerd geladen document dat met Compressed := True wordt opgeslagen, zal bij uitvoer comprimeren. Een volledig gecomprimeerd document opnieuw opslaan met Compressed := True levert een vrijwel identieke bestandsgrootte op — de motor herkent vooraf gecomprimeerde streams en comprimeert ze niet opnieuw
// Save an uncompressed copy alongside the compressed original for debugging
begin
Pdf.Active := True;
Pdf.Compressed := True;
Pdf.SaveAs('output.pdf'); // production copy
Pdf.Compressed := False;
Pdf.SaveAs('output_debug.pdf'); // human-readable copy
end;