diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index e5f72c6..29bb95c 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -2268,7 +2268,7 @@ QPDFWriter::Members::doWriteSetup() if (encryption) { // Encryption has been explicitly set preserve_encryption = false; - } else if (normalize_content || !compress_streams || pclm || qdf_mode) { + } else if (normalize_content || pclm || qdf_mode) { // Encryption makes looking at contents pretty useless. If the user explicitly encrypted // though, we still obey that. preserve_encryption = false; diff --git a/manual/release-notes.rst b/manual/release-notes.rst index f8860b0..baff92c 100644 --- a/manual/release-notes.rst +++ b/manual/release-notes.rst @@ -59,6 +59,11 @@ more detail. - Other changes + - Setting :qpdf:ref:`--compress-streams` to ``n`` or + ``QPDFWriter::setCompressStreams(false)`` no longer automatically + causes the outputfile to be decrypted. Set :qpdf:ref:`--decrypt` if this + is the intended behaviour. + - There has been some refactoring of stream filtering. These are optimized for the common case where no user provided stream filters are registered by calling ``QPDF::registerStreamFilter``. If you are diff --git a/qpdf/qtest/content-preservation.test b/qpdf/qtest/content-preservation.test index 348d8ec..b45d69a 100644 --- a/qpdf/qtest/content-preservation.test +++ b/qpdf/qtest/content-preservation.test @@ -30,8 +30,8 @@ my @flags = (["-qdf", # 1 "qdf not uncompressed"], ["-qdf --stream-data=preserve --normalize-content=n", # 4 "qdf not normalized or uncompressed"], - ["--stream-data=uncompress", # 5 - "uncompresed"], + ["--stream-data=uncompress --decrypt", # 5 + "uncompresed (and decrpted)"], ["--normalize-content=y", # 6 "normalized"], ["--stream-data=uncompress --normalize-content=y", # 7 diff --git a/qpdf/qtest/qpdf/job-json-input-file-password.json b/qpdf/qtest/qpdf/job-json-input-file-password.json index 3df1f90..94c8680 100644 --- a/qpdf/qtest/qpdf/job-json-input-file-password.json +++ b/qpdf/qtest/qpdf/job-json-input-file-password.json @@ -1,4 +1,5 @@ { + "decrypt": "", "inputFile": "20-pages.pdf", "password": "user", "outputFile": "a.pdf",