aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFWriter.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2023-12-20 17:08:36 +0100
committerJay Berkenbilt <ejb@ql.org>2023-12-20 21:46:20 +0100
commitd61612a2e54d266d8fc4f55042080b780984272e (patch)
treeebefee30abcf242c70d55fb4b0c5841416bec7a9 /libqpdf/QPDFWriter.cc
parentc5f622a09e6a68d87d3591346d872cf828cf82c7 (diff)
downloadqpdf-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.cc9
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 ");