PDFiumPas 文件

Compressed 屬性

元件: TPdf  ·  單元: PDFium
控制在呼叫 SaveAs / Save 時,輸出 PDF 的串流是否以 FlateDecode 壓縮。儲存後的壓縮引擎會掃描序列化後的 PDF,把任何未壓縮的串流替換成對應的 zlib 壓縮版本,並重新建立 xref 表。已經壓縮過的串流則維持不變

Syntax

property Compressed: Boolean; // default True

Description

Compressed controls whether the next SaveAs (and family) call applies post-write stream compression. When True — the default — PDFiumPas serializes the document through PDFium, then runs a pass that replaces any uncompressed content / metadata streams with FlateDecode-compressed equivalents and rewrites the cross-reference table to reflect the new offsets.

When False, output streams are written as-is. The resulting file is typically 2-10× larger but is human-readable when opened in a text editor, which is useful for debugging content streams, comparing two PDF revisions with diff, or feeding the output into a PDF-syntax-aware tool that prefers uncompressed input.

Setting Compressed changes only the behavior of the next save; the in-memory document is unaffected. A document that was loaded compressed and saved with Compressed := False will decompress on output; a document loaded uncompressed and saved with Compressed := True will compress on output Round-tripping a fully-compressed document with Compressed := True yields a near-identical file size — the engine recognizes pre-compressed streams and does not re-deflate them.

Remarks

Example

// 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;

See Also

SaveAs, Save, Active, Password