property Compressed: Boolean; // default True
Compressed は、次の SaveAs(とその一族)の呼び出しで書き込み後の stream 圧縮を適用するかどうかを制御します。デフォルトの True では、PDFium Delphi Component はまずドキュメントを PDFium 経由で直列化し、そのあと未圧縮の content / メタデータ stream を FlateDecode 圧縮相当へ置き換え、新しいオフセットに合わせて cross-reference テーブルを書き直すパスを実行します
False にすると、出力 stream はそのまま書かれます。出来上がるファイルは通常 2〜10 倍大きくなりますが、テキストエディタで開けば人間に読めるので、content stream のデバッグ、diff での 2 つの PDF リビジョンの比較、未圧縮入力を好む PDF 構文認識ツールへの受け渡しに役立ちます
Compressed を変更しても影響するのは次の保存だけです。メモリ上のドキュメントは変わりません。圧縮された状態でロードしたドキュメントを Compressed := False で保存すると出力時に伸張され、未圧縮でロードしたドキュメントを Compressed := True で保存すると出力時に圧縮されます。完全に圧縮済みのドキュメントを Compressed := True で往復させると、ファイルサイズはほぼ同じになります。エンジンは既に圧縮済みの stream を認識し、再 deflate しないためです
// 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;