diff --git a/examples/qpdf-job.cc b/examples/qpdf-job.cc index be868a17..99b853ea 100644 --- a/examples/qpdf-job.cc +++ b/examples/qpdf-job.cc @@ -44,6 +44,7 @@ main(int argc, char* argv[]) ->endPages() ->linearize() ->staticId() // for testing only + ->compressStreams("n") // avoid dependency on zlib output ->checkConfiguration(); j.run(); std::cout << "out1 status: " << j.getExitCode() << std::endl; @@ -63,6 +64,7 @@ main(int argc, char* argv[]) "1", "--", "--static-id", + "--compress-streams=n", // avoid dependency on zlib output nullptr}; QPDFJob j; j.initializeFromArgv(new_argv); @@ -81,6 +83,7 @@ main(int argc, char* argv[]) "outputFile": "out3.pdf", "staticId": "", "linearize": "", + "compressStreams": "n", "pages": [ { "file": ".", diff --git a/examples/qpdfjob-c.c b/examples/qpdfjob-c.c index 62528392..6dd68283 100644 --- a/examples/qpdfjob-c.c +++ b/examples/qpdfjob-c.c @@ -19,7 +19,7 @@ main(int argc, char* argv[]) { char* infile = NULL; char* outfile = NULL; - char const* new_argv[6]; + char const* new_argv[7]; int r = 0; char* p = 0; @@ -43,7 +43,8 @@ main(int argc, char* argv[]) new_argv[2] = outfile; new_argv[3] = "--linearize"; new_argv[4] = "--static-id"; /* for testing only */ - new_argv[5] = NULL; + new_argv[5] = "--compress-streams=n"; /* avoid dependency on zlib output */ + new_argv[6] = NULL; /* See qpdf-job.cc for a C++ example of using the json interface. To use that from C just like * the argv one, call qpdfjob_run_from_json instead and pass the json string as a single char diff --git a/examples/qtest/qpdf-job/out.pdf b/examples/qtest/qpdf-job/out.pdf index c432ac59..d8ac1509 100644 Binary files a/examples/qtest/qpdf-job/out.pdf and b/examples/qtest/qpdf-job/out.pdf differ diff --git a/qpdf/qpdf-ctest.c b/qpdf/qpdf-ctest.c index ba177444..d0c60558 100644 --- a/qpdf/qpdf-ctest.c +++ b/qpdf/qpdf-ctest.c @@ -200,6 +200,7 @@ test05(char const* infile, char const* password, char const* outfile, char const qpdf_register_progress_reporter(qpdf, count_progress, (void*)&count); qpdf_set_static_ID(qpdf, QPDF_TRUE); qpdf_set_linearization(qpdf, QPDF_TRUE); + qpdf_set_compress_streams(qpdf, QPDF_FALSE); // Don't depend on zlib qpdf_write(qpdf); /* make sure progress reporter was called */ assert(count > 0); diff --git a/qpdf/qtest/encryption-parameters.test b/qpdf/qtest/encryption-parameters.test index f6d852c0..eaf795f3 100644 --- a/qpdf/qtest/encryption-parameters.test +++ b/qpdf/qtest/encryption-parameters.test @@ -37,7 +37,8 @@ foreach my $file (qw(short-id long-id)) $td->runtest("linearize $file.pdf", {$td->COMMAND => - "qpdf --deterministic-id --linearize $file.pdf a.pdf"}, + "qpdf --deterministic-id --compress-streams=n" . + " --linearize $file.pdf a.pdf"}, {$td->STRING => "", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); diff --git a/qpdf/qtest/linearize-pass1.test b/qpdf/qtest/linearize-pass1.test index dfdd2d9b..c59dd55f 100644 --- a/qpdf/qtest/linearize-pass1.test +++ b/qpdf/qtest/linearize-pass1.test @@ -18,6 +18,7 @@ my $n_tests = 3; $td->runtest("linearize pass 1 file", {$td->COMMAND => "qpdf --linearize --static-id" . + " --compress-streams=n" . " --linearize-pass1=b.pdf minimal.pdf a.pdf"}, {$td->STRING => "", $td->EXIT_STATUS => 0}); $td->runtest("check output", diff --git a/qpdf/qtest/pages-tree.test b/qpdf/qtest/pages-tree.test index 2ec00e29..eb416fba 100644 --- a/qpdf/qtest/pages-tree.test +++ b/qpdf/qtest/pages-tree.test @@ -18,7 +18,7 @@ my $n_tests = 17; $td->runtest("linearize duplicated pages", {$td->COMMAND => - "qpdf --static-id --linearize" . + "qpdf --static-id --linearize --compress-streams=n" . " page_api_2.pdf a.pdf"}, {$td->FILE => "duplicate-page-warning.out", $td->EXIT_STATUS => 3}, diff --git a/qpdf/qtest/qpdf/c-linearized.pdf b/qpdf/qtest/qpdf/c-linearized.pdf index dbe62ffe..23c11901 100644 Binary files a/qpdf/qtest/qpdf/c-linearized.pdf and b/qpdf/qtest/qpdf/c-linearized.pdf differ diff --git a/qpdf/qtest/qpdf/extra-header-lin-newline.pdf b/qpdf/qtest/qpdf/extra-header-lin-newline.pdf index 7a5ff3e6..b23c5152 100644 Binary files a/qpdf/qtest/qpdf/extra-header-lin-newline.pdf and b/qpdf/qtest/qpdf/extra-header-lin-newline.pdf differ diff --git a/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf b/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf index e115c462..da3e3e88 100644 Binary files a/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf and b/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf differ diff --git a/qpdf/qtest/qpdf/linearize-duplicate-page.pdf b/qpdf/qtest/qpdf/linearize-duplicate-page.pdf index 27a8898e..093149c1 100644 Binary files a/qpdf/qtest/qpdf/linearize-duplicate-page.pdf and b/qpdf/qtest/qpdf/linearize-duplicate-page.pdf differ diff --git a/qpdf/qtest/qpdf/long-id-linearized.pdf b/qpdf/qtest/qpdf/long-id-linearized.pdf index 2993fd30..e7bc709f 100644 Binary files a/qpdf/qtest/qpdf/long-id-linearized.pdf and b/qpdf/qtest/qpdf/long-id-linearized.pdf differ diff --git a/qpdf/qtest/qpdf/minimal-linearize-pass1.pdf b/qpdf/qtest/qpdf/minimal-linearize-pass1.pdf index e851063a..ac7d71ed 100644 Binary files a/qpdf/qtest/qpdf/minimal-linearize-pass1.pdf and b/qpdf/qtest/qpdf/minimal-linearize-pass1.pdf differ diff --git a/qpdf/qtest/qpdf/minimal-linearized.pdf b/qpdf/qtest/qpdf/minimal-linearized.pdf index 15f643d4..809f18d0 100644 Binary files a/qpdf/qtest/qpdf/minimal-linearized.pdf and b/qpdf/qtest/qpdf/minimal-linearized.pdf differ diff --git a/qpdf/qtest/qpdf/pages-is-page-out.pdf b/qpdf/qtest/qpdf/pages-is-page-out.pdf index 15f643d4..809f18d0 100644 Binary files a/qpdf/qtest/qpdf/pages-is-page-out.pdf and b/qpdf/qtest/qpdf/pages-is-page-out.pdf differ diff --git a/qpdf/qtest/qpdf/short-id-linearized.pdf b/qpdf/qtest/qpdf/short-id-linearized.pdf index ec8829d7..10ef195b 100644 Binary files a/qpdf/qtest/qpdf/short-id-linearized.pdf and b/qpdf/qtest/qpdf/short-id-linearized.pdf differ diff --git a/qpdf/qtest/specific-file.test b/qpdf/qtest/specific-file.test index fec7a803..5d77720a 100644 --- a/qpdf/qtest/specific-file.test +++ b/qpdf/qtest/specific-file.test @@ -47,7 +47,8 @@ $td->runtest("check fix-qdf idempotency", {$td->FILE => "a.pdf", $td->EXIT_STATUS => 0}); $td->runtest("pages points to page", {$td->COMMAND => - "qpdf --static-id --linearize pages-is-page.pdf a.pdf"}, + "qpdf --static-id --linearize --compress-streams=n" . + " pages-is-page.pdf a.pdf"}, {$td->FILE => "pages-is-page.out", $td->EXIT_STATUS => 3}, $td->NORMALIZE_NEWLINES); $td->runtest("check output", diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc index 03631eb2..3c8ce755 100644 --- a/qpdf/test_driver.cc +++ b/qpdf/test_driver.cc @@ -1211,6 +1211,9 @@ test_32(QPDF& pdf, char const* arg2) << "linearized: " << (linearized ? "yes" : "no") << std::endl << "newline: " << (newline ? "yes" : "no") << std::endl; w.setLinearization(linearized); + if (linearized) { + w.setCompressStreams(false); // avoid dependency on zlib's output + } w.setExtraHeaderText(newline ? "%% Comment with newline\n" : "%% Comment\n% No newline"); w.write(); }