From cb85d369b4f9772b6e203c843d427f9473f2b2f3 Mon Sep 17 00:00:00 2001 From: TinyServal Date: Fri, 11 Apr 2025 15:49:27 +1000 Subject: [PATCH] Don't apply filters to empty stream objects --- libqpdf/QPDFWriter.cc | 6 ++++++ 1 file changed, 6 insertions(+), 0 deletions(-) diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index cf97ea3..1f9cd6b 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -1293,6 +1293,12 @@ QPDFWriter::willFilterStream( QTC::TC("qpdf", "QPDFWriter compressing uncompressed stream"); } + // Disable compression for empty streams to improve compatibility + if (stream_dict.getKey("/Length").isInteger() && stream_dict.getKey("/Length").getIntValue() == 0) { + filter = true; + compress_stream = false; + } + bool filtered = false; for (bool first_attempt: {true, false}) { PipelinePopper pp_stream_data(this); -- libgit2 0.21.4