property Compressed: Boolean; // default True
Compressed steuert, ob der nächste SaveAs-Aufruf
(und seine Familie) eine Nachbearbeitung der Streams mit Kompression anwendet. Bei True — dem
Standard — serialisiert PDFium Delphi Component das Dokument über PDFium und durchläuft danach einen Durchlauf, der
unkomprimierte Content-/Metadaten-Streams durch FlateDecode-komprimierte
Äquivalente ersetzt und die Cross-Reference-Tabelle mit den neuen Offsets neu schreibt
Bei False werden die Ausgabe-Streams unverändert geschrieben. Die erzeugte Datei ist
typischerweise 2-10× größer, aber menschenlesbar, wenn sie in einem Texteditor geöffnet wird, was
beim Debuggen von Content-Streams, beim Vergleichen zweier PDF-Revisionen mit diff
oder beim Einspeisen der Ausgabe in ein PDF-Syntax-bewusstes Werkzeug nützlich ist, das unkomprimierte Eingabe bevorzugt
Das Setzen von Compressed ändert nur das Verhalten der nächsten Speicherung; das
Dokument im Speicher bleibt unberührt. Ein komprimiert geladenes und mit
Compressed := False gespeichertes Dokument wird bei der Ausgabe dekomprimiert; ein unkomprimiert geladenes
und mit Compressed := True gespeichertes Dokument wird bei der Ausgabe komprimiert
Ein Round-Trip eines vollständig komprimierten Dokuments mit Compressed := True ergibt
eine nahezu identische Dateigröße — die Engine erkennt vorkomprimierte Streams und deflate
sie nicht erneut
// 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;