property Compressed: Boolean; // default True
Compressed управляет тем, будет ли следующий SaveAs
(и семейства) применять сжатие потока после записи. Когда True — значение
по умолчанию — PDFiumPas сериализует документ через PDFium, а затем выполняет проход, который
заменяет любые несжатые потоки содержимого / метаданных на эквиваленты, сжатые FlateDecode,
и переписывает таблицу перекрестных ссылок с учетом новых смещений
Когда False, потоки вывода записываются как есть. Получившийся файл
обычно в 2-10× больше, но его можно читать в текстовом редакторе, что полезно для
отладки потоков содержимого, сравнения двух версий PDF с помощью diff,
или передачи вывода в инструмент, понимающий синтаксис PDF и предпочитающий несжатый ввод
Установка Compressed меняет только поведение следующего сохранения; документ в
памяти не затрагивается. Документ, загруженный в сжатом виде и сохраненный с
Compressed := False, будет выведен в распакованном виде; документ, загруженный
без сжатия и сохраненный с Compressed := True, будет выведен в сжатом виде
Повторное сохранение полностью сжатого документа с Compressed := True дает
почти идентичный размер файла — механизм распознает уже сжатые потоки и не сжимает их повторно
// 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;