Bug fix: don't compress object/xref streams with --compress-streams=n

This commit is contained in:
Jay Berkenbilt 2023-12-20 10:51:56 -05:00
parent 4c3c658e25
commit c5f622a09e
4 changed files with 7 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2023-12-20 Jay Berkenbilt <ejb@ql.org>
* Bug fix: with --compress-streams=n, don't compress object or
XRef streams.
2023-12-16 Jay Berkenbilt <ejb@ql.org>
* Add new C++ functions "qpdf_c_get_qpdf" and "qpdf_c_wrap" to

View File

@ -1658,8 +1658,7 @@ QPDFWriter::writeObjectStream(QPDFObjectHandle object)
// Set up a stream to write the stream data into a buffer.
Pipeline* next = pushPipeline(new Pl_Buffer("object stream"));
if ((m->compress_streams || (m->stream_decode_level == qpdf_dl_none)) &&
(!m->qdf_mode)) {
if (m->compress_streams && !m->qdf_mode) {
compressed = true;
next =
pushPipeline(new Pl_Flate("compress object stream", next, Pl_Flate::a_deflate));
@ -2417,7 +2416,7 @@ QPDFWriter::writeXRefStream(
Pipeline* p = pushPipeline(new Pl_Buffer("xref stream"));
bool compressed = false;
if ((m->compress_streams || (m->stream_decode_level == qpdf_dl_none)) && (!m->qdf_mode)) {
if (m->compress_streams && !m->qdf_mode) {
compressed = true;
if (!skip_compression) {
// Write the stream dictionary for compression but don't actually compress. This helps