diff options
author | Jay Berkenbilt <ejb@ql.org> | 2023-12-20 17:08:36 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2023-12-20 21:46:20 +0100 |
commit | d61612a2e54d266d8fc4f55042080b780984272e (patch) | |
tree | ebefee30abcf242c70d55fb4b0c5841416bec7a9 /libqpdf/QPDFWriter.cc | |
parent | c5f622a09e6a68d87d3591346d872cf828cf82c7 (diff) | |
download | qpdf-d61612a2e54d266d8fc4f55042080b780984272e.tar.zst |
Bug fix: don't compress hint streams when --compress-streams=n
Diffstat (limited to 'libqpdf/QPDFWriter.cc')
-rw-r--r-- | libqpdf/QPDFWriter.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index 3085e6c0..981fc755 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -2289,15 +2289,20 @@ QPDFWriter::writeHintStream(int hint_id) std::shared_ptr<Buffer> hint_buffer; int S = 0; int O = 0; + bool compressed = (m->compress_streams && !m->qdf_mode); QPDF::Writer::generateHintStream( - m->pdf, m->xref, m->lengths, m->obj_renumber_no_gen, hint_buffer, S, O); + m->pdf, m->xref, m->lengths, m->obj_renumber_no_gen, hint_buffer, S, O, compressed); openObject(hint_id); setDataKey(hint_id); size_t hlen = hint_buffer->getSize(); - writeString("<< /Filter /FlateDecode /S "); + writeString("<< "); + if (compressed) { + writeString("/Filter /FlateDecode "); + } + writeString("/S "); writeString(std::to_string(S)); if (O) { writeString(" /O "); |