diff --git a/ChangeLog b/ChangeLog index a55a97e..81b4603 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,11 +1,22 @@ 2022-02-08 Jay Berkenbilt + * Bug fix: when splitting pages with --split-pages or selecting + pages with --pages, set the output PDF version to the maximum of + all the input PDF versions. This is a fix to QPDFJob. If you are + creating output PDF files yourself from multiple inputs, you will + need to code the same thing. The new PDFVersion object, its + updateIfGreater() method, and the new QPDF and QPDFWriter methods + described below make this very easy to do. Fixes #610. + * Add new class PDFVersion for more convenient comparison of PDF version numbers from the %!PDF header. * Add QPDF::getVersionAsPDFVersion() to return the PDF version and extension together as a PDFVersion object instead of a string. + * Add a QPDFWriter::setMinimumPDFVersion() that takes a PDFVersion + object. + 2022-02-06 Jay Berkenbilt * Pl_Buffer and QPDFWriter: add getBufferSharedPointer(), which diff --git a/TODO b/TODO index 89576b9..a768637 100644 --- a/TODO +++ b/TODO @@ -1,8 +1,3 @@ -10.6 -==== - -* https://github.com/qpdf/qpdf/issues/610 - Next ==== diff --git a/include/qpdf/QPDFJob.hh b/include/qpdf/QPDFJob.hh index 799a34f..9524fdb 100644 --- a/include/qpdf/QPDFJob.hh +++ b/include/qpdf/QPDFJob.hh @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -587,6 +588,7 @@ class QPDFJob int flatten_annotations_required; int flatten_annotations_forbidden; bool generate_appearances; + PDFVersion max_input_version; std::string min_version; std::string force_version; bool show_npages; diff --git a/include/qpdf/QPDFWriter.hh b/include/qpdf/QPDFWriter.hh index 97d190a..1f8fc36 100644 --- a/include/qpdf/QPDFWriter.hh +++ b/include/qpdf/QPDFWriter.hh @@ -42,11 +42,11 @@ #include #include #include - #include #include #include #include +#include class QPDF; class Pl_Count; @@ -265,6 +265,8 @@ class QPDFWriter // streams are used. QPDF_DLL void setMinimumPDFVersion(std::string const&, int extension_level = 0); + QPDF_DLL + void setMinimumPDFVersion(PDFVersion const&); // Force the PDF version of the output file to be a given version. // Use of this function may create PDF files that will not work diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc index fab552f..5886d6b 100644 --- a/libqpdf/QPDFJob.cc +++ b/libqpdf/QPDFJob.cc @@ -2047,6 +2047,7 @@ QPDFJob::doProcessOnce( { fn(pdf.get(), password); } + this->m->max_input_version.updateIfGreater(pdf->getVersionAsPDFVersion()); return pdf; } @@ -3472,6 +3473,7 @@ QPDFJob::setWriterOptions(QPDF& pdf, QPDFWriter& w) { w.setObjectStreamMode(m->object_stream_mode); } + w.setMinimumPDFVersion(this->m->max_input_version); if (! m->min_version.empty()) { std::string version; diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index bb56862..c8a5bb1 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -297,6 +297,15 @@ QPDFWriter::setMinimumPDFVersion(std::string const& version, } void +QPDFWriter::setMinimumPDFVersion(PDFVersion const& v) +{ + std::string version; + int extension_level; + v.getVersion(version, extension_level); + setMinimumPDFVersion(version, extension_level); +} + +void QPDFWriter::forcePDFVersion(std::string const& version, int extension_level) { diff --git a/manual/release-notes.rst b/manual/release-notes.rst index dfd4285..b12e5e7 100644 --- a/manual/release-notes.rst +++ b/manual/release-notes.rst @@ -148,6 +148,14 @@ For a detailed list of changes, please see the file embedded NUL characters. Thanks to M. Holger for the contribution. + - New ``PDFVersion`` class for representing a PDF version number + with the ability to compare and order PDF versions. Methods + ``QPDF::getVersionAsPDFVersion`` and a new version of + ``QPDFWriter::setMinimumPDFVersion`` use it. This makes it + easier to create an output file whose PDF version is the maximum + of the versions across all the input files that contributed to + it. + - The ``JSON`` object in the qpdf library has been enhanced to include a parser and the ability to get values out of the ``JSON`` object. Previously it was a write-only interface. Even @@ -181,6 +189,10 @@ For a detailed list of changes, please see the file - Some characters were not correctly translated from PDF doc encoding to Unicode. + - When splitting or combining pages, ensure that all output files + have a PDF version greater than or equal to the maximum version + of all the input files. + 10.5.0: December 21, 2021 - Packaging changes diff --git a/qpdf/qtest/qpdf/01_split-exp.zdf b/qpdf/qtest/qpdf/01_split-exp.zdf index 7c37942..f28359c 100644 --- a/qpdf/qtest/qpdf/01_split-exp.zdf +++ b/qpdf/qtest/qpdf/01_split-exp.zdf diff --git a/qpdf/qtest/qpdf/02_split-exp.zdf b/qpdf/qtest/qpdf/02_split-exp.zdf index cced06c..0c0d088 100644 --- a/qpdf/qtest/qpdf/02_split-exp.zdf +++ b/qpdf/qtest/qpdf/02_split-exp.zdf diff --git a/qpdf/qtest/qpdf/03_split-exp.zdf b/qpdf/qtest/qpdf/03_split-exp.zdf index 7206ff5..964bfb7 100644 --- a/qpdf/qtest/qpdf/03_split-exp.zdf +++ b/qpdf/qtest/qpdf/03_split-exp.zdf diff --git a/qpdf/qtest/qpdf/04_split-exp.zdf b/qpdf/qtest/qpdf/04_split-exp.zdf index d8a652e..28a4619 100644 --- a/qpdf/qtest/qpdf/04_split-exp.zdf +++ b/qpdf/qtest/qpdf/04_split-exp.zdf diff --git a/qpdf/qtest/qpdf/05_split-exp.zdf b/qpdf/qtest/qpdf/05_split-exp.zdf index 498596f..aea6342 100644 --- a/qpdf/qtest/qpdf/05_split-exp.zdf +++ b/qpdf/qtest/qpdf/05_split-exp.zdf diff --git a/qpdf/qtest/qpdf/06_split-exp.zdf b/qpdf/qtest/qpdf/06_split-exp.zdf index 016d83a..ae27f4c 100644 --- a/qpdf/qtest/qpdf/06_split-exp.zdf +++ b/qpdf/qtest/qpdf/06_split-exp.zdf diff --git a/qpdf/qtest/qpdf/07_split-exp.zdf b/qpdf/qtest/qpdf/07_split-exp.zdf index bb1ed0b..7aa16f0 100644 --- a/qpdf/qtest/qpdf/07_split-exp.zdf +++ b/qpdf/qtest/qpdf/07_split-exp.zdf diff --git a/qpdf/qtest/qpdf/08_split-exp.zdf b/qpdf/qtest/qpdf/08_split-exp.zdf index bd6b7f2..7b47747 100644 --- a/qpdf/qtest/qpdf/08_split-exp.zdf +++ b/qpdf/qtest/qpdf/08_split-exp.zdf diff --git a/qpdf/qtest/qpdf/09_split-exp.zdf b/qpdf/qtest/qpdf/09_split-exp.zdf index 1b63f67..4f9f46b 100644 --- a/qpdf/qtest/qpdf/09_split-exp.zdf +++ b/qpdf/qtest/qpdf/09_split-exp.zdf diff --git a/qpdf/qtest/qpdf/10_split-exp.zdf b/qpdf/qtest/qpdf/10_split-exp.zdf index f3d209a..525b1a9 100644 --- a/qpdf/qtest/qpdf/10_split-exp.zdf +++ b/qpdf/qtest/qpdf/10_split-exp.zdf diff --git a/qpdf/qtest/qpdf/11_split-exp.zdf b/qpdf/qtest/qpdf/11_split-exp.zdf index 158f9c7..40ff70b 100644 --- a/qpdf/qtest/qpdf/11_split-exp.zdf +++ b/qpdf/qtest/qpdf/11_split-exp.zdf diff --git a/qpdf/qtest/qpdf/direct-dr-out.pdf b/qpdf/qtest/qpdf/direct-dr-out.pdf index ea1a227..65fbada 100644 --- a/qpdf/qtest/qpdf/direct-dr-out.pdf +++ b/qpdf/qtest/qpdf/direct-dr-out.pdf @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.6 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/dr-with-indirect-item-out.pdf b/qpdf/qtest/qpdf/dr-with-indirect-item-out.pdf index c6f5c88..19a6d6f 100644 --- a/qpdf/qtest/qpdf/dr-with-indirect-item-out.pdf +++ b/qpdf/qtest/qpdf/dr-with-indirect-item-out.pdf @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ 1 0 obj << /AcroForm 2 0 R /Pages 3 0 R /Type /Catalog >> diff --git a/qpdf/qtest/qpdf/fields-pages-out.pdf b/qpdf/qtest/qpdf/fields-pages-out.pdf index 56d70a9..01364e6 100644 --- a/qpdf/qtest/qpdf/fields-pages-out.pdf +++ b/qpdf/qtest/qpdf/fields-pages-out.pdf diff --git a/qpdf/qtest/qpdf/fields-split-1.pdf b/qpdf/qtest/qpdf/fields-split-1.pdf index d7479e6..c625922 100644 --- a/qpdf/qtest/qpdf/fields-split-1.pdf +++ b/qpdf/qtest/qpdf/fields-split-1.pdf diff --git a/qpdf/qtest/qpdf/fields-split-2.pdf b/qpdf/qtest/qpdf/fields-split-2.pdf index 034c1a8..35a0fb8 100644 --- a/qpdf/qtest/qpdf/fields-split-2.pdf +++ b/qpdf/qtest/qpdf/fields-split-2.pdf diff --git a/qpdf/qtest/qpdf/indirect-r-arg.out b/qpdf/qtest/qpdf/indirect-r-arg.out index ab912e1..d5c6a3c 100644 --- a/qpdf/qtest/qpdf/indirect-r-arg.out +++ b/qpdf/qtest/qpdf/indirect-r-arg.out @@ -1,7 +1,7 @@ -checking indirect-r-arg.pdf WARNING: indirect-r-arg.pdf (object 1 0, offset 76): unknown token while reading object; treating as string WARNING: indirect-r-arg.pdf (object 1 0, offset 62): expected dictionary key but found non-name object; inserting key /QPDFFake1 WARNING: indirect-r-arg.pdf (object 1 0, offset 62): expected dictionary key but found non-name object; inserting key /QPDFFake2 +checking indirect-r-arg.pdf PDF Version: 1.3 File is not encrypted File is not linearized diff --git a/qpdf/qtest/qpdf/job-json-copy-attachments.pdf b/qpdf/qtest/qpdf/job-json-copy-attachments.pdf index ab49f62..446b15e 100644 --- a/qpdf/qtest/qpdf/job-json-copy-attachments.pdf +++ b/qpdf/qtest/qpdf/job-json-copy-attachments.pdf diff --git a/qpdf/qtest/qpdf/job-json-empty-input.pdf b/qpdf/qtest/qpdf/job-json-empty-input.pdf index b93a911..9f2653b 100644 --- a/qpdf/qtest/qpdf/job-json-empty-input.pdf +++ b/qpdf/qtest/qpdf/job-json-empty-input.pdf diff --git a/qpdf/qtest/qpdf/job-json-underlay-overlay-password.pdf b/qpdf/qtest/qpdf/job-json-underlay-overlay-password.pdf index 31c0e1f..8296bd3 100644 --- a/qpdf/qtest/qpdf/job-json-underlay-overlay-password.pdf +++ b/qpdf/qtest/qpdf/job-json-underlay-overlay-password.pdf diff --git a/qpdf/qtest/qpdf/labels-split-01-06.pdf b/qpdf/qtest/qpdf/labels-split-01-06.pdf index 1058eba..aee0a94 100644 --- a/qpdf/qtest/qpdf/labels-split-01-06.pdf +++ b/qpdf/qtest/qpdf/labels-split-01-06.pdf @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/labels-split-07-11.pdf b/qpdf/qtest/qpdf/labels-split-07-11.pdf index 42120fe..be18191 100644 --- a/qpdf/qtest/qpdf/labels-split-07-11.pdf +++ b/qpdf/qtest/qpdf/labels-split-07-11.pdf @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/merge-implicit-ranges.pdf b/qpdf/qtest/qpdf/merge-implicit-ranges.pdf index be17bf4..08c652d 100644 --- a/qpdf/qtest/qpdf/merge-implicit-ranges.pdf +++ b/qpdf/qtest/qpdf/merge-implicit-ranges.pdf @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ 1 0 obj << /PageLabels << /Nums [ 0 << /St 1 >> 21 << /P () /St 1 >> 23 << /S /r /St 1 >> 28 << /P () /St 1 >> 30 << /S /r /St 6 >> 32 << /P () /St 1 >> 33 << /S /D /St 2 >> 36 << /S /D /St 6 >> 40 << /P () /St 1 >> 41 << /S /D /St 12 >> 43 << /S /D /St 16059 >> 44 << /S /r /St 50 >> 50 << /S /r /St 54 >> ] >> /Pages 2 0 R /Type /Catalog >> diff --git a/qpdf/qtest/qpdf/merge-multiple-labels.pdf b/qpdf/qtest/qpdf/merge-multiple-labels.pdf index d767e76..f2b1386 100644 --- a/qpdf/qtest/qpdf/merge-multiple-labels.pdf +++ b/qpdf/qtest/qpdf/merge-multiple-labels.pdf diff --git a/qpdf/qtest/qpdf/merge-three-files-1.pdf b/qpdf/qtest/qpdf/merge-three-files-1.pdf index 42e84a2..138ccba 100644 --- a/qpdf/qtest/qpdf/merge-three-files-1.pdf +++ b/qpdf/qtest/qpdf/merge-three-files-1.pdf diff --git a/qpdf/qtest/qpdf/merge-three-files-2.pdf b/qpdf/qtest/qpdf/merge-three-files-2.pdf index 2d472ac..fa9cfaa 100644 --- a/qpdf/qtest/qpdf/merge-three-files-2.pdf +++ b/qpdf/qtest/qpdf/merge-three-files-2.pdf diff --git a/qpdf/qtest/qpdf/obj0-check.out b/qpdf/qtest/qpdf/obj0-check.out index d4a33eb..785131d 100644 --- a/qpdf/qtest/qpdf/obj0-check.out +++ b/qpdf/qtest/qpdf/obj0-check.out @@ -1,7 +1,7 @@ -checking obj0.pdf WARNING: obj0.pdf: file is damaged WARNING: obj0.pdf (object 1 0, offset 77): expected n n obj WARNING: obj0.pdf: Attempting to reconstruct cross-reference table +checking obj0.pdf PDF Version: 1.3 File is not encrypted File is not linearized diff --git a/qpdf/qtest/qpdf/overlay-copy-annotations-p1.pdf b/qpdf/qtest/qpdf/overlay-copy-annotations-p1.pdf index 54ff4d4..f190711 100644 --- a/qpdf/qtest/qpdf/overlay-copy-annotations-p1.pdf +++ b/qpdf/qtest/qpdf/overlay-copy-annotations-p1.pdf @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.6 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/overlay-copy-annotations-p2.pdf b/qpdf/qtest/qpdf/overlay-copy-annotations-p2.pdf index 62b3fa3..4ed2c00 100644 --- a/qpdf/qtest/qpdf/overlay-copy-annotations-p2.pdf +++ b/qpdf/qtest/qpdf/overlay-copy-annotations-p2.pdf @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.6 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/overlay-copy-annotations-p5.pdf b/qpdf/qtest/qpdf/overlay-copy-annotations-p5.pdf index d786133..fac19fb 100644 --- a/qpdf/qtest/qpdf/overlay-copy-annotations-p5.pdf +++ b/qpdf/qtest/qpdf/overlay-copy-annotations-p5.pdf @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.6 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/overlay-copy-annotations-p6.pdf b/qpdf/qtest/qpdf/overlay-copy-annotations-p6.pdf index b9154b8..2e66124 100644 --- a/qpdf/qtest/qpdf/overlay-copy-annotations-p6.pdf +++ b/qpdf/qtest/qpdf/overlay-copy-annotations-p6.pdf @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.6 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/overlay-copy-annotations.pdf b/qpdf/qtest/qpdf/overlay-copy-annotations.pdf index 3179438..4a5c19d 100644 --- a/qpdf/qtest/qpdf/overlay-copy-annotations.pdf +++ b/qpdf/qtest/qpdf/overlay-copy-annotations.pdf @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.6 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/remove-labels.pdf b/qpdf/qtest/qpdf/remove-labels.pdf index 838f4cb..f9d5b80 100644 --- a/qpdf/qtest/qpdf/remove-labels.pdf +++ b/qpdf/qtest/qpdf/remove-labels.pdf diff --git a/qpdf/qtest/qpdf/split-exp-01.Pdf b/qpdf/qtest/qpdf/split-exp-01.Pdf index 7c37942..f28359c 100644 --- a/qpdf/qtest/qpdf/split-exp-01.Pdf +++ b/qpdf/qtest/qpdf/split-exp-01.Pdf diff --git a/qpdf/qtest/qpdf/split-exp-02.Pdf b/qpdf/qtest/qpdf/split-exp-02.Pdf index cced06c..0c0d088 100644 --- a/qpdf/qtest/qpdf/split-exp-02.Pdf +++ b/qpdf/qtest/qpdf/split-exp-02.Pdf diff --git a/qpdf/qtest/qpdf/split-exp-03.Pdf b/qpdf/qtest/qpdf/split-exp-03.Pdf index 7206ff5..964bfb7 100644 --- a/qpdf/qtest/qpdf/split-exp-03.Pdf +++ b/qpdf/qtest/qpdf/split-exp-03.Pdf diff --git a/qpdf/qtest/qpdf/split-exp-04.Pdf b/qpdf/qtest/qpdf/split-exp-04.Pdf index d8a652e..28a4619 100644 --- a/qpdf/qtest/qpdf/split-exp-04.Pdf +++ b/qpdf/qtest/qpdf/split-exp-04.Pdf diff --git a/qpdf/qtest/qpdf/split-exp-05.Pdf b/qpdf/qtest/qpdf/split-exp-05.Pdf index 498596f..aea6342 100644 --- a/qpdf/qtest/qpdf/split-exp-05.Pdf +++ b/qpdf/qtest/qpdf/split-exp-05.Pdf diff --git a/qpdf/qtest/qpdf/split-exp-06.Pdf b/qpdf/qtest/qpdf/split-exp-06.Pdf index 016d83a..ae27f4c 100644 --- a/qpdf/qtest/qpdf/split-exp-06.Pdf +++ b/qpdf/qtest/qpdf/split-exp-06.Pdf diff --git a/qpdf/qtest/qpdf/split-exp-07.Pdf b/qpdf/qtest/qpdf/split-exp-07.Pdf index bb1ed0b..7aa16f0 100644 --- a/qpdf/qtest/qpdf/split-exp-07.Pdf +++ b/qpdf/qtest/qpdf/split-exp-07.Pdf diff --git a/qpdf/qtest/qpdf/split-exp-08.Pdf b/qpdf/qtest/qpdf/split-exp-08.Pdf index bd6b7f2..7b47747 100644 --- a/qpdf/qtest/qpdf/split-exp-08.Pdf +++ b/qpdf/qtest/qpdf/split-exp-08.Pdf diff --git a/qpdf/qtest/qpdf/split-exp-09.Pdf b/qpdf/qtest/qpdf/split-exp-09.Pdf index 1b63f67..4f9f46b 100644 --- a/qpdf/qtest/qpdf/split-exp-09.Pdf +++ b/qpdf/qtest/qpdf/split-exp-09.Pdf diff --git a/qpdf/qtest/qpdf/split-exp-1 b/qpdf/qtest/qpdf/split-exp-1 index 7c37942..f28359c 100644 --- a/qpdf/qtest/qpdf/split-exp-1 +++ b/qpdf/qtest/qpdf/split-exp-1 diff --git a/qpdf/qtest/qpdf/split-exp-1.pdf b/qpdf/qtest/qpdf/split-exp-1.pdf index 77a38bc..2b256b7 100644 --- a/qpdf/qtest/qpdf/split-exp-1.pdf +++ b/qpdf/qtest/qpdf/split-exp-1.pdf diff --git a/qpdf/qtest/qpdf/split-exp-10.Pdf b/qpdf/qtest/qpdf/split-exp-10.Pdf index f3d209a..525b1a9 100644 --- a/qpdf/qtest/qpdf/split-exp-10.Pdf +++ b/qpdf/qtest/qpdf/split-exp-10.Pdf diff --git a/qpdf/qtest/qpdf/split-exp-11.Pdf b/qpdf/qtest/qpdf/split-exp-11.Pdf index 158f9c7..40ff70b 100644 --- a/qpdf/qtest/qpdf/split-exp-11.Pdf +++ b/qpdf/qtest/qpdf/split-exp-11.Pdf diff --git a/qpdf/qtest/qpdf/split-exp-2 b/qpdf/qtest/qpdf/split-exp-2 index cced06c..0c0d088 100644 --- a/qpdf/qtest/qpdf/split-exp-2 +++ b/qpdf/qtest/qpdf/split-exp-2 diff --git a/qpdf/qtest/qpdf/split-exp-3 b/qpdf/qtest/qpdf/split-exp-3 index 7206ff5..964bfb7 100644 --- a/qpdf/qtest/qpdf/split-exp-3 +++ b/qpdf/qtest/qpdf/split-exp-3 diff --git a/qpdf/qtest/qpdf/split-exp-4 b/qpdf/qtest/qpdf/split-exp-4 index b8c692e..27b1824 100644 --- a/qpdf/qtest/qpdf/split-exp-4 +++ b/qpdf/qtest/qpdf/split-exp-4 diff --git a/qpdf/qtest/qpdf/split-exp-group-01-05.pdf b/qpdf/qtest/qpdf/split-exp-group-01-05.pdf index 318b381..c4cedeb 100644 --- a/qpdf/qtest/qpdf/split-exp-group-01-05.pdf +++ b/qpdf/qtest/qpdf/split-exp-group-01-05.pdf diff --git a/qpdf/qtest/qpdf/split-exp-group-06-10.pdf b/qpdf/qtest/qpdf/split-exp-group-06-10.pdf index 7f8b652..bed88dc 100644 --- a/qpdf/qtest/qpdf/split-exp-group-06-10.pdf +++ b/qpdf/qtest/qpdf/split-exp-group-06-10.pdf diff --git a/qpdf/qtest/qpdf/split-exp-group-11-11.pdf b/qpdf/qtest/qpdf/split-exp-group-11-11.pdf index 158f9c7..40ff70b 100644 --- a/qpdf/qtest/qpdf/split-exp-group-11-11.pdf +++ b/qpdf/qtest/qpdf/split-exp-group-11-11.pdf diff --git a/qpdf/qtest/qpdf/split-exp.zdf_01 b/qpdf/qtest/qpdf/split-exp.zdf_01 index 31a145a..5386b04 100644 --- a/qpdf/qtest/qpdf/split-exp.zdf_01 +++ b/qpdf/qtest/qpdf/split-exp.zdf_01 @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/split-exp.zdf_02 b/qpdf/qtest/qpdf/split-exp.zdf_02 index d70facb..1b97398 100644 --- a/qpdf/qtest/qpdf/split-exp.zdf_02 +++ b/qpdf/qtest/qpdf/split-exp.zdf_02 @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/split-exp.zdf_03 b/qpdf/qtest/qpdf/split-exp.zdf_03 index fbb491b..699c292 100644 --- a/qpdf/qtest/qpdf/split-exp.zdf_03 +++ b/qpdf/qtest/qpdf/split-exp.zdf_03 @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/split-exp.zdf_04 b/qpdf/qtest/qpdf/split-exp.zdf_04 index d0ab509..d1e522c 100644 --- a/qpdf/qtest/qpdf/split-exp.zdf_04 +++ b/qpdf/qtest/qpdf/split-exp.zdf_04 @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/split-exp.zdf_05 b/qpdf/qtest/qpdf/split-exp.zdf_05 index a2d861d..1eb1173 100644 --- a/qpdf/qtest/qpdf/split-exp.zdf_05 +++ b/qpdf/qtest/qpdf/split-exp.zdf_05 @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/split-exp.zdf_06 b/qpdf/qtest/qpdf/split-exp.zdf_06 index 1d5b6e5..bb75c30 100644 --- a/qpdf/qtest/qpdf/split-exp.zdf_06 +++ b/qpdf/qtest/qpdf/split-exp.zdf_06 @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/split-exp.zdf_07 b/qpdf/qtest/qpdf/split-exp.zdf_07 index 10a7237..5ce3f25 100644 --- a/qpdf/qtest/qpdf/split-exp.zdf_07 +++ b/qpdf/qtest/qpdf/split-exp.zdf_07 @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/split-exp.zdf_08 b/qpdf/qtest/qpdf/split-exp.zdf_08 index 9ccb696..c7a07f5 100644 --- a/qpdf/qtest/qpdf/split-exp.zdf_08 +++ b/qpdf/qtest/qpdf/split-exp.zdf_08 @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/split-exp.zdf_09 b/qpdf/qtest/qpdf/split-exp.zdf_09 index 82706bc..c53618b 100644 --- a/qpdf/qtest/qpdf/split-exp.zdf_09 +++ b/qpdf/qtest/qpdf/split-exp.zdf_09 @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/split-exp.zdf_10 b/qpdf/qtest/qpdf/split-exp.zdf_10 index 5deab6d..4fb1f90 100644 --- a/qpdf/qtest/qpdf/split-exp.zdf_10 +++ b/qpdf/qtest/qpdf/split-exp.zdf_10 @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/split-exp.zdf_11 b/qpdf/qtest/qpdf/split-exp.zdf_11 index 3a3105d..d9eb9cc 100644 --- a/qpdf/qtest/qpdf/split-exp.zdf_11 +++ b/qpdf/qtest/qpdf/split-exp.zdf_11 @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0 diff --git a/qpdf/qtest/qpdf/uo-7.pdf b/qpdf/qtest/qpdf/uo-7.pdf index 4cabeaf..08a0e50 100644 --- a/qpdf/qtest/qpdf/uo-7.pdf +++ b/qpdf/qtest/qpdf/uo-7.pdf @@ -1,4 +1,4 @@ -%PDF-1.3 +%PDF-1.4 %¿÷¢þ %QDF-1.0