diff --git a/ChangeLog b/ChangeLog index c61625c0..db242032 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2023-02-18 Jay Berkenbilt + + * Treat all linearization errors and warnings as warnings, and + issue them through the normal warning system using the new error + code qpdf_e_linearization. That means that --no-warn will suppress + them, and the file name is included in the warning. Fixes #851. + 2023-01-28 Jay Berkenbilt * New option --remove-restrictions removes security restrictions diff --git a/README-maintainer b/README-maintainer index 1ca7de8a..2ecbfaa6 100644 --- a/README-maintainer +++ b/README-maintainer @@ -127,6 +127,8 @@ CODING RULES "Code Formatting" section in manual/contributing.rst for details. See also "CODE FORMATTING" below. +* Use std::to_string instead of QUtil::int_to_string et al + * Use of assert: * Test code: #include first. diff --git a/TODO b/TODO index 9a8a4ec2..88a022b4 100644 --- a/TODO +++ b/TODO @@ -11,7 +11,6 @@ Always * Fix #874 -- make args in --encrypt to match the json and make positional fill in the gaps -* Fix #851 -- not suppressing linearization warnings * Maybe fix #553 -- use file times for attachments * Clarify idempotency section to emphasize --deterministic-id over --static-id diff --git a/include/qpdf/Constants.h b/include/qpdf/Constants.h index 84bd190b..e3626ead 100644 --- a/include/qpdf/Constants.h +++ b/include/qpdf/Constants.h @@ -83,14 +83,15 @@ enum qpdf_exit_code_e { enum qpdf_error_code_e { qpdf_e_success = 0, - qpdf_e_internal, /* logic/programming error -- indicates bug */ - qpdf_e_system, /* I/O error, memory error, etc. */ - qpdf_e_unsupported, /* PDF feature not (yet) supported by qpdf */ - qpdf_e_password, /* incorrect password for encrypted file */ - qpdf_e_damaged_pdf, /* syntax errors or other damage in PDF */ - qpdf_e_pages, /* erroneous or unsupported pages structure */ - qpdf_e_object, /* type/bounds errors accessing objects */ - qpdf_e_json, /* error in qpdf JSON */ + qpdf_e_internal, /* logic/programming error -- indicates bug */ + qpdf_e_system, /* I/O error, memory error, etc. */ + qpdf_e_unsupported, /* PDF feature not (yet) supported by qpdf */ + qpdf_e_password, /* incorrect password for encrypted file */ + qpdf_e_damaged_pdf, /* syntax errors or other damage in PDF */ + qpdf_e_pages, /* erroneous or unsupported pages structure */ + qpdf_e_object, /* type/bounds errors accessing objects */ + qpdf_e_json, /* error in qpdf JSON */ + qpdf_e_linearization, /* linearization warning */ }; /* Object Types */ diff --git a/include/qpdf/QPDF.hh b/include/qpdf/QPDF.hh index 7fe02f0b..3f998b9c 100644 --- a/include/qpdf/QPDF.hh +++ b/include/qpdf/QPDF.hh @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -1565,6 +1566,7 @@ class QPDF void readLinearizationData(); bool checkLinearizationInternal(); void dumpLinearizationDataInternal(); + void linearizationWarning(std::string_view); QPDFObjectHandle readHintStream(Pipeline&, qpdf_offset_t offset, size_t length); void readHPageOffset(BitStream); @@ -1574,18 +1576,14 @@ class QPDF qpdf_offset_t getLinearizationOffset(QPDFObjGen const&); QPDFObjectHandle getUncompressedObject( QPDFObjectHandle&, std::map const& object_stream_data); - int lengthNextN(int first_object, int n, std::list& errors); + int lengthNextN(int first_object, int n); void checkHPageOffset( - std::list& errors, - std::list& warnings, std::vector const& pages, std::map& idx_to_obj); void checkHSharedObject( - std::list& warnings, - std::list& errors, std::vector const& pages, std::map& idx_to_obj); - void checkHOutlines(std::list& warnings); + void checkHOutlines(); void dumpHPageOffset(); void dumpHSharedObject(); void dumpHGeneric(HGeneric&); @@ -1728,6 +1726,7 @@ class QPDF // Linearization data qpdf_offset_t first_xref_item_offset{0}; // actual value from file bool uncompressed_after_compressed{false}; + bool linearization_warnings{false}; // Linearization parameter dictionary and hint table data: may be // read from file or computed prior to writing a linearized file diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc index 6cd3c385..e311a1e4 100644 --- a/libqpdf/QPDFJob.cc +++ b/libqpdf/QPDFJob.cc @@ -783,7 +783,6 @@ QPDFJob::doCheck(QPDF& pdf) // continue to perform additional checks after finding // errors. bool okay = true; - bool warnings = false; auto& cout = *this->m->log->getInfo(); cout << "checking " << m->infilename.get() << "\n"; try { @@ -796,12 +795,7 @@ QPDFJob::doCheck(QPDF& pdf) showEncryption(pdf); if (pdf.isLinearized()) { cout << "File is linearized\n"; - // any errors or warnings are reported by - // checkLinearization(). We treat all issues reported here - // as warnings. - if (!pdf.checkLinearization()) { - warnings = true; - } + pdf.checkLinearization(); } else { cout << "File is not linearized\n"; } @@ -836,7 +830,7 @@ QPDFJob::doCheck(QPDF& pdf) throw std::runtime_error("errors detected"); } - if ((!pdf.getWarnings().empty()) || warnings) { + if (!pdf.getWarnings().empty()) { this->m->warnings = true; } else { *this->m->log->getInfo() << "No syntax or stream encoding errors" diff --git a/libqpdf/QPDF_linearization.cc b/libqpdf/QPDF_linearization.cc index 6c001767..926353fa 100644 --- a/libqpdf/QPDF_linearization.cc +++ b/libqpdf/QPDF_linearization.cc @@ -65,6 +65,13 @@ load_vector_vector( bit_stream.skipToNextByte(); } +void +QPDF::linearizationWarning(std::string_view msg) +{ + this->m->linearization_warnings = true; + warn(qpdf_e_linearization, "", 0, std::string(msg)); +} + bool QPDF::checkLinearization() { @@ -73,9 +80,9 @@ QPDF::checkLinearization() readLinearizationData(); result = checkLinearizationInternal(); } catch (std::runtime_error& e) { - *this->m->log->getError() - << "WARNING: error encountered while checking linearization data: " - << e.what() << "\n"; + linearizationWarning( + "error encountered while checking linearization data: " + + std::string(e.what())); } return result; } @@ -333,9 +340,10 @@ QPDF::readHintStream(Pipeline& pl, qpdf_offset_t offset, size_t length) } qpdf_offset_t computed_end = offset + toO(length); if ((computed_end < min_end_offset) || (computed_end > max_end_offset)) { - *this->m->log->getError() - << "expected = " << computed_end << "; actual = " << min_end_offset - << ".." << max_end_offset << "\n"; + linearizationWarning( + "expected = " + std::to_string(computed_end) + + "; actual = " + std::to_string(min_end_offset) + ".." + + std::to_string(max_end_offset)); throw damagedPDF( "linearization dictionary", "hint table length mismatch"); } @@ -476,9 +484,6 @@ QPDF::checkLinearizationInternal() // All comments referring to the PDF spec refer to the spec for // version 1.4. - std::list errors; - std::list warnings; - // Check all values in linearization parameter dictionary LinParameters& p = this->m->linp; @@ -489,21 +494,21 @@ QPDF::checkLinearizationInternal() std::vector const& pages = getAllPages(); if (p.first_page_object != pages.at(0).getObjectID()) { QTC::TC("qpdf", "QPDF err /O mismatch"); - errors.push_back("first page object (/O) mismatch"); + linearizationWarning("first page object (/O) mismatch"); } // N: number of pages int npages = toI(pages.size()); if (p.npages != npages) { // Not tested in the test suite - errors.push_back("page count (/N) mismatch"); + linearizationWarning("page count (/N) mismatch"); } for (size_t i = 0; i < toS(npages); ++i) { QPDFObjectHandle const& page = pages.at(i); QPDFObjGen og(page.getObjGen()); if (this->m->xref_table[og].getType() == 2) { - errors.push_back( + linearizationWarning( "page dictionary for page " + std::to_string(i) + " is compressed"); } @@ -521,7 +526,7 @@ QPDF::checkLinearizationInternal() } if (this->m->file->tell() != this->m->first_xref_item_offset) { QTC::TC("qpdf", "QPDF err /T mismatch"); - errors.push_back( + linearizationWarning( "space before first xref item (/T) mismatch " "(computed = " + std::to_string(this->m->first_xref_item_offset) + @@ -537,8 +542,9 @@ QPDF::checkLinearizationInternal() // are in use. if (this->m->uncompressed_after_compressed) { - errors.push_back("linearized file contains an uncompressed object" - " after a compressed one in a cross-reference stream"); + linearizationWarning( + "linearized file contains an uncompressed object" + " after a compressed one in a cross-reference stream"); } // Further checking requires optimization and order calculation. @@ -587,7 +593,7 @@ QPDF::checkLinearizationInternal() } if ((p.first_page_end < min_E) || (p.first_page_end > max_E)) { QTC::TC("qpdf", "QPDF warn /E mismatch"); - warnings.push_back( + linearizationWarning( "end of first page section (/E) mismatch: /E = " + std::to_string(p.first_page_end) + "; computed = " + std::to_string(min_E) + ".." + std::to_string(max_E)); @@ -596,34 +602,11 @@ QPDF::checkLinearizationInternal() // Check hint tables std::map shared_idx_to_obj; - checkHSharedObject(errors, warnings, pages, shared_idx_to_obj); - checkHPageOffset(errors, warnings, pages, shared_idx_to_obj); - checkHOutlines(warnings); + checkHSharedObject(pages, shared_idx_to_obj); + checkHPageOffset(pages, shared_idx_to_obj); + checkHOutlines(); - // Report errors - - bool result = true; - - // Treat all linearization errors as warnings. Many of them occur - // in otherwise working files, so it's really misleading to treat - // them as errors. We'll hang onto the distinction in the code for - // now in case we ever have a chance to clean up the linearization - // code. - if (!errors.empty()) { - result = false; - for (auto const& error: errors) { - *this->m->log->getError() << "WARNING: " << error << "\n"; - } - } - - if (!warnings.empty()) { - result = false; - for (auto const& warning: warnings) { - *this->m->log->getError() << "WARNING: " << warning << "\n"; - } - } - - return result; + return !this->m->linearization_warnings; } qpdf_offset_t @@ -680,13 +663,13 @@ QPDF::getUncompressedObject( } int -QPDF::lengthNextN(int first_object, int n, std::list& errors) +QPDF::lengthNextN(int first_object, int n) { int length = 0; for (int i = 0; i < n; ++i) { QPDFObjGen og(first_object + i, 0); if (this->m->xref_table.count(og) == 0) { - errors.push_back( + linearizationWarning( "no xref table entry for " + std::to_string(first_object + i) + " 0"); } else { @@ -704,8 +687,6 @@ QPDF::lengthNextN(int first_object, int n, std::list& errors) void QPDF::checkHPageOffset( - std::list& errors, - std::list& warnings, std::vector const& pages, std::map& shared_idx_to_obj) { @@ -735,7 +716,7 @@ QPDF::checkHPageOffset( } qpdf_offset_t offset = getLinearizationOffset(first_page_og); if (table_offset != offset) { - warnings.push_back("first page object offset mismatch"); + linearizationWarning("first page object offset mismatch"); } for (int pageno = 0; pageno < npages; ++pageno) { @@ -754,7 +735,7 @@ QPDF::checkHPageOffset( he.delta_nobjects + this->m->page_offset_hints.min_nobjects; if (h_nobjects != ce.nobjects) { // This happens with pdlin when there are thumbnails. - warnings.push_back( + linearizationWarning( "object count mismatch for page " + std::to_string(pageno) + ": hint table = " + std::to_string(h_nobjects) + "; computed = " + std::to_string(ce.nobjects)); @@ -762,13 +743,13 @@ QPDF::checkHPageOffset( // Use value for number of objects in hint table rather than // computed value if there is a discrepancy. - int length = lengthNextN(first_object, h_nobjects, errors); + int length = lengthNextN(first_object, h_nobjects); int h_length = toI( he.delta_page_length + this->m->page_offset_hints.min_page_length); if (length != h_length) { // This condition almost certainly indicates a bad hint // table or a bug in this code. - errors.push_back( + linearizationWarning( "page length mismatch for page " + std::to_string(pageno) + ": hint table = " + std::to_string(h_length) + "; computed length = " + std::to_string(length) + @@ -784,7 +765,7 @@ QPDF::checkHPageOffset( if ((pageno == 0) && (he.nshared_objects > 0)) { // pdlin and Acrobat both do this even though the spec // states clearly and unambiguously that they should not. - warnings.push_back("page 0 has shared identifier entries"); + linearizationWarning("page 0 has shared identifier entries"); } for (size_t i = 0; i < toS(he.nshared_objects); ++i) { @@ -808,7 +789,7 @@ QPDF::checkHPageOffset( for (int iter: hint_shared) { if (!computed_shared.count(iter)) { // pdlin puts thumbnails here even though it shouldn't - warnings.push_back( + linearizationWarning( "page " + std::to_string(pageno) + ": shared object " + std::to_string(iter) + ": in hint table but not computed list"); @@ -820,10 +801,10 @@ QPDF::checkHPageOffset( // Acrobat does not put some things including at least // built-in fonts and procsets here, at least in some // cases. - warnings.push_back( - "page " + std::to_string(pageno) + ": shared object " + - std::to_string(iter) + - ": in computed list but not hint table"); + linearizationWarning( + ("page " + std::to_string(pageno) + ": shared object " + + std::to_string(iter) + + ": in computed list but not hint table")); } } } @@ -831,10 +812,7 @@ QPDF::checkHPageOffset( void QPDF::checkHSharedObject( - std::list& errors, - std::list& warnings, - std::vector const& pages, - std::map& idx_to_obj) + std::vector const& pages, std::map& idx_to_obj) { // Implementation note 125 says shared object groups always // contain only one object. Implementation note 128 says that @@ -856,7 +834,7 @@ QPDF::checkHSharedObject( HSharedObject& so = this->m->shared_object_hints; if (so.nshared_total < so.nshared_first_page) { - errors.push_back("shared object hint table: ntotal < nfirst_page"); + linearizationWarning("shared object hint table: ntotal < nfirst_page"); } else { // The first nshared_first_page objects are consecutive // objects starting with the first page object. The rest are @@ -866,12 +844,12 @@ QPDF::checkHSharedObject( if (i == so.nshared_first_page) { QTC::TC("qpdf", "QPDF lin check shared past first page"); if (this->m->part8.empty()) { - errors.push_back("part 8 is empty but nshared_total > " - "nshared_first_page"); + linearizationWarning("part 8 is empty but nshared_total > " + "nshared_first_page"); } else { int obj = this->m->part8.at(0).getObjectID(); if (obj != so.first_shared_obj) { - errors.push_back( + linearizationWarning( "first shared object number mismatch: " "hint table = " + std::to_string(so.first_shared_obj) + @@ -889,7 +867,7 @@ QPDF::checkHSharedObject( qpdf_offset_t h_offset = adjusted_offset(so.first_shared_offset); if (offset != h_offset) { - errors.push_back( + linearizationWarning( "first shared object offset mismatch: hint table = " + std::to_string(h_offset) + "; computed = " + std::to_string(offset)); @@ -899,10 +877,10 @@ QPDF::checkHSharedObject( idx_to_obj[i] = cur_object; HSharedObjectEntry& se = so.entries.at(toS(i)); int nobjects = se.nobjects_minus_one + 1; - int length = lengthNextN(cur_object, nobjects, errors); + int length = lengthNextN(cur_object, nobjects); int h_length = so.min_group_length + se.delta_group_length; if (length != h_length) { - errors.push_back( + linearizationWarning( "shared object " + std::to_string(i) + " length mismatch: hint table = " + std::to_string(h_length) + @@ -914,7 +892,7 @@ QPDF::checkHSharedObject( } void -QPDF::checkHOutlines(std::list& warnings) +QPDF::checkHOutlines() { // Empirically, Acrobat generates the correct value for the object // number but incorrectly stores the next object number's offset @@ -937,7 +915,7 @@ QPDF::checkHOutlines(std::list& warnings) // This case is not exercised in test suite since not // permitted by the spec, but if this does occur, the // code below would fail. - warnings.push_back( + linearizationWarning( "/Outlines key of root dictionary is not indirect"); return; } @@ -951,24 +929,24 @@ QPDF::checkHOutlines(std::list& warnings) qpdf_offset_t table_offset = adjusted_offset(this->m->outline_hints.first_object_offset); if (offset != table_offset) { - warnings.push_back( + linearizationWarning( "incorrect offset in outlines table: hint table = " + std::to_string(table_offset) + "; computed = " + std::to_string(offset)); } int table_length = this->m->outline_hints.group_length; if (length != table_length) { - warnings.push_back( + linearizationWarning( "incorrect length in outlines table: hint table = " + std::to_string(table_length) + "; computed = " + std::to_string(length)); } } else { - warnings.push_back("incorrect first object number in outline " - "hints table."); + linearizationWarning("incorrect first object number in outline " + "hints table."); } } else { - warnings.push_back("incorrect object count in outline hint table"); + linearizationWarning("incorrect object count in outline hint table"); } } @@ -980,7 +958,7 @@ QPDF::showLinearizationData() checkLinearizationInternal(); dumpLinearizationDataInternal(); } catch (QPDFExc& e) { - *this->m->log->getError() << e.what() << "\n"; + linearizationWarning(e.what()); } } diff --git a/manual/release-notes.rst b/manual/release-notes.rst index ef5f2df4..a038005a 100644 --- a/manual/release-notes.rst +++ b/manual/release-notes.rst @@ -19,6 +19,12 @@ For a detailed list of changes, please see the file - New method ``QPDF::removeSecurityRestrictions`` removes security restrictions from digitally signed files. + - Bug fixes + + - Linearization warnings are now treated like normal warnings in + that they include the file name and are suppressed with the + :qpdf:ref:`--no-warn` option. + - Performance enhancements - Include more code tidying and performance improvements from M. diff --git a/qpdf/qtest/linearization.test b/qpdf/qtest/linearization.test index 76a61d7d..553dfc3a 100644 --- a/qpdf/qtest/linearization.test +++ b/qpdf/qtest/linearization.test @@ -45,14 +45,14 @@ my @to_linearize = ); $n_tests += @linearized_files + 6; -$n_tests += (3 * @to_linearize * 5) + 6; +$n_tests += (3 * @to_linearize * 5) + 7; foreach my $base (@linearized_files) { $td->runtest("dump linearization: $base", {$td->COMMAND => "qpdf --show-linearization $base.pdf"}, {$td->FILE => "$base.out", - $td->EXIT_STATUS => 0}, + $td->EXIT_STATUS => ($base eq 'lin0' ? 0 : 3)}, $td->NORMALIZE_NEWLINES); } @@ -129,5 +129,10 @@ foreach my $base (@to_linearize) } } +$td->runtest("suppress linearization warnings", + {$td->COMMAND => "qpdf --no-warn --check lin3.pdf"}, + {$td->FILE => "lin3-check-nowarn.out", $td->EXIT_STATUS => 3}, + $td->NORMALIZE_NEWLINES); + cleanup(); $td->report($n_tests); diff --git a/qpdf/qtest/qpdf/badlin1.out b/qpdf/qtest/qpdf/badlin1.out index e61a201f..2f709ace 100644 --- a/qpdf/qtest/qpdf/badlin1.out +++ b/qpdf/qtest/qpdf/badlin1.out @@ -1,8 +1,8 @@ -WARNING: first page object (/O) mismatch -WARNING: space before first xref item (/T) mismatch (computed = 11777; file = 11771 -WARNING: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891 -WARNING: page 0 has shared identifier entries -WARNING: page 0: shared object 62: in hint table but not computed list +WARNING: badlin1.pdf: first page object (/O) mismatch +WARNING: badlin1.pdf: space before first xref item (/T) mismatch (computed = 11777; file = 11771 +WARNING: badlin1.pdf: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891 +WARNING: badlin1.pdf: page 0 has shared identifier entries +WARNING: badlin1.pdf: page 0: shared object 62: in hint table but not computed list badlin1.pdf: linearization data: file_size: 13103 @@ -378,3 +378,4 @@ first_object: 66 first_object_offset: 1827 nobjects: 12 group_length: 2064 +qpdf: operation succeeded with warnings diff --git a/qpdf/qtest/qpdf/lin1.out b/qpdf/qtest/qpdf/lin1.out index d97842bc..d3588107 100644 --- a/qpdf/qtest/qpdf/lin1.out +++ b/qpdf/qtest/qpdf/lin1.out @@ -1,6 +1,6 @@ -WARNING: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891 -WARNING: page 0 has shared identifier entries -WARNING: page 0: shared object 62: in hint table but not computed list +WARNING: lin1.pdf: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891 +WARNING: lin1.pdf: page 0 has shared identifier entries +WARNING: lin1.pdf: page 0: shared object 62: in hint table but not computed list lin1.pdf: linearization data: file_size: 13103 @@ -376,3 +376,4 @@ first_object: 66 first_object_offset: 1827 nobjects: 12 group_length: 2064 +qpdf: operation succeeded with warnings diff --git a/qpdf/qtest/qpdf/lin2.out b/qpdf/qtest/qpdf/lin2.out index 4be08814..db9388e2 100644 --- a/qpdf/qtest/qpdf/lin2.out +++ b/qpdf/qtest/qpdf/lin2.out @@ -1,6 +1,6 @@ -WARNING: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891 -WARNING: page 0 has shared identifier entries -WARNING: page 0: shared object 62: in hint table but not computed list +WARNING: lin2.pdf: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891 +WARNING: lin2.pdf: page 0 has shared identifier entries +WARNING: lin2.pdf: page 0: shared object 62: in hint table but not computed list lin2.pdf: linearization data: file_size: 13103 @@ -376,3 +376,4 @@ first_object: 66 first_object_offset: 1827 nobjects: 12 group_length: 2064 +qpdf: operation succeeded with warnings diff --git a/qpdf/qtest/qpdf/lin3-check-nowarn.out b/qpdf/qtest/qpdf/lin3-check-nowarn.out new file mode 100644 index 00000000..0c1621f9 --- /dev/null +++ b/qpdf/qtest/qpdf/lin3-check-nowarn.out @@ -0,0 +1,4 @@ +checking lin3.pdf +PDF Version: 1.3 +File is not encrypted +File is linearized diff --git a/qpdf/qtest/qpdf/lin3.out b/qpdf/qtest/qpdf/lin3.out index 468cfa59..d09aebef 100644 --- a/qpdf/qtest/qpdf/lin3.out +++ b/qpdf/qtest/qpdf/lin3.out @@ -1,64 +1,64 @@ -WARNING: end of first page section (/E) mismatch: /E = 3978; computed = 3785..3786 -WARNING: page 1: shared object 107: in computed list but not hint table -WARNING: page 1: shared object 109: in computed list but not hint table -WARNING: page 2: shared object 107: in computed list but not hint table -WARNING: page 2: shared object 109: in computed list but not hint table -WARNING: page 3: shared object 107: in computed list but not hint table -WARNING: page 3: shared object 109: in computed list but not hint table -WARNING: page 4: shared object 107: in computed list but not hint table -WARNING: page 4: shared object 109: in computed list but not hint table -WARNING: page 5: shared object 107: in computed list but not hint table -WARNING: page 5: shared object 109: in computed list but not hint table -WARNING: page 6: shared object 107: in computed list but not hint table -WARNING: page 6: shared object 109: in computed list but not hint table -WARNING: page 7: shared object 107: in computed list but not hint table -WARNING: page 7: shared object 109: in computed list but not hint table -WARNING: page 8: shared object 107: in computed list but not hint table -WARNING: page 8: shared object 109: in computed list but not hint table -WARNING: page 9: shared object 107: in computed list but not hint table -WARNING: page 9: shared object 109: in computed list but not hint table -WARNING: page 10: shared object 107: in computed list but not hint table -WARNING: page 10: shared object 109: in computed list but not hint table -WARNING: page 11: shared object 107: in computed list but not hint table -WARNING: page 11: shared object 109: in computed list but not hint table -WARNING: page 12: shared object 107: in computed list but not hint table -WARNING: page 12: shared object 109: in computed list but not hint table -WARNING: page 13: shared object 107: in computed list but not hint table -WARNING: page 13: shared object 109: in computed list but not hint table -WARNING: page 14: shared object 107: in computed list but not hint table -WARNING: page 14: shared object 109: in computed list but not hint table -WARNING: page 15: shared object 107: in computed list but not hint table -WARNING: page 15: shared object 109: in computed list but not hint table -WARNING: page 16: shared object 107: in computed list but not hint table -WARNING: page 16: shared object 109: in computed list but not hint table -WARNING: page 17: shared object 107: in computed list but not hint table -WARNING: page 17: shared object 109: in computed list but not hint table -WARNING: page 18: shared object 107: in computed list but not hint table -WARNING: page 18: shared object 109: in computed list but not hint table -WARNING: page 19: shared object 107: in computed list but not hint table -WARNING: page 19: shared object 109: in computed list but not hint table -WARNING: page 20: shared object 107: in computed list but not hint table -WARNING: page 20: shared object 109: in computed list but not hint table -WARNING: page 21: shared object 107: in computed list but not hint table -WARNING: page 21: shared object 109: in computed list but not hint table -WARNING: page 22: shared object 107: in computed list but not hint table -WARNING: page 22: shared object 109: in computed list but not hint table -WARNING: page 23: shared object 107: in computed list but not hint table -WARNING: page 23: shared object 109: in computed list but not hint table -WARNING: page 24: shared object 107: in computed list but not hint table -WARNING: page 24: shared object 109: in computed list but not hint table -WARNING: page 25: shared object 107: in computed list but not hint table -WARNING: page 25: shared object 109: in computed list but not hint table -WARNING: page 26: shared object 107: in computed list but not hint table -WARNING: page 26: shared object 109: in computed list but not hint table -WARNING: page 27: shared object 107: in computed list but not hint table -WARNING: page 27: shared object 109: in computed list but not hint table -WARNING: page 28: shared object 107: in computed list but not hint table -WARNING: page 28: shared object 109: in computed list but not hint table -WARNING: page 29: shared object 107: in computed list but not hint table -WARNING: page 29: shared object 109: in computed list but not hint table -WARNING: incorrect offset in outlines table: hint table = 1627; computed = 1547 -WARNING: incorrect length in outlines table: hint table = 1988; computed = 1936 +WARNING: lin3.pdf: end of first page section (/E) mismatch: /E = 3978; computed = 3785..3786 +WARNING: lin3.pdf: page 1: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 1: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 2: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 2: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 3: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 3: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 4: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 4: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 5: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 5: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 6: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 6: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 7: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 7: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 8: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 8: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 9: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 9: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 10: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 10: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 11: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 11: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 12: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 12: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 13: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 13: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 14: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 14: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 15: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 15: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 16: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 16: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 17: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 17: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 18: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 18: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 19: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 19: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 20: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 20: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 21: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 21: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 22: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 22: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 23: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 23: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 24: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 24: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 25: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 25: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 26: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 26: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 27: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 27: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 28: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 28: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: page 29: shared object 107: in computed list but not hint table +WARNING: lin3.pdf: page 29: shared object 109: in computed list but not hint table +WARNING: lin3.pdf: incorrect offset in outlines table: hint table = 1627; computed = 1547 +WARNING: lin3.pdf: incorrect length in outlines table: hint table = 1988; computed = 1936 lin3.pdf: linearization data: file_size: 16937 @@ -316,3 +316,4 @@ first_object: 94 first_object_offset: 1627 nobjects: 12 group_length: 1988 +qpdf: operation succeeded with warnings diff --git a/qpdf/qtest/qpdf/lin4.out b/qpdf/qtest/qpdf/lin4.out index 42c6282e..5fa06e71 100644 --- a/qpdf/qtest/qpdf/lin4.out +++ b/qpdf/qtest/qpdf/lin4.out @@ -1,5 +1,5 @@ -WARNING: page 0 has shared identifier entries -WARNING: page 0: shared object 74: in hint table but not computed list +WARNING: lin4.pdf: page 0 has shared identifier entries +WARNING: lin4.pdf: page 0: shared object 74: in hint table but not computed list lin4.pdf: linearization data: file_size: 13055 @@ -351,3 +351,4 @@ first_object: 60 first_object_offset: 9413 nobjects: 12 group_length: 2064 +qpdf: operation succeeded with warnings diff --git a/qpdf/qtest/qpdf/lin5.out b/qpdf/qtest/qpdf/lin5.out index b2261a1b..875f1dca 100644 --- a/qpdf/qtest/qpdf/lin5.out +++ b/qpdf/qtest/qpdf/lin5.out @@ -1,64 +1,64 @@ -WARNING: end of first page section (/E) mismatch: /E = 4213; computed = 4004..4005 -WARNING: page 1: shared object 170: in computed list but not hint table -WARNING: page 1: shared object 172: in computed list but not hint table -WARNING: page 2: shared object 170: in computed list but not hint table -WARNING: page 2: shared object 172: in computed list but not hint table -WARNING: page 3: shared object 170: in computed list but not hint table -WARNING: page 3: shared object 172: in computed list but not hint table -WARNING: page 4: shared object 170: in computed list but not hint table -WARNING: page 4: shared object 172: in computed list but not hint table -WARNING: page 5: shared object 170: in computed list but not hint table -WARNING: page 5: shared object 172: in computed list but not hint table -WARNING: page 6: shared object 170: in computed list but not hint table -WARNING: page 6: shared object 172: in computed list but not hint table -WARNING: page 7: shared object 170: in computed list but not hint table -WARNING: page 7: shared object 172: in computed list but not hint table -WARNING: page 8: shared object 170: in computed list but not hint table -WARNING: page 8: shared object 172: in computed list but not hint table -WARNING: page 9: shared object 170: in computed list but not hint table -WARNING: page 9: shared object 172: in computed list but not hint table -WARNING: page 10: shared object 170: in computed list but not hint table -WARNING: page 10: shared object 172: in computed list but not hint table -WARNING: page 11: shared object 170: in computed list but not hint table -WARNING: page 11: shared object 172: in computed list but not hint table -WARNING: page 12: shared object 170: in computed list but not hint table -WARNING: page 12: shared object 172: in computed list but not hint table -WARNING: page 13: shared object 170: in computed list but not hint table -WARNING: page 13: shared object 172: in computed list but not hint table -WARNING: page 14: shared object 170: in computed list but not hint table -WARNING: page 14: shared object 172: in computed list but not hint table -WARNING: page 15: shared object 170: in computed list but not hint table -WARNING: page 15: shared object 172: in computed list but not hint table -WARNING: page 16: shared object 170: in computed list but not hint table -WARNING: page 16: shared object 172: in computed list but not hint table -WARNING: page 17: shared object 170: in computed list but not hint table -WARNING: page 17: shared object 172: in computed list but not hint table -WARNING: page 18: shared object 170: in computed list but not hint table -WARNING: page 18: shared object 172: in computed list but not hint table -WARNING: page 19: shared object 170: in computed list but not hint table -WARNING: page 19: shared object 172: in computed list but not hint table -WARNING: page 20: shared object 170: in computed list but not hint table -WARNING: page 20: shared object 172: in computed list but not hint table -WARNING: page 21: shared object 170: in computed list but not hint table -WARNING: page 21: shared object 172: in computed list but not hint table -WARNING: page 22: shared object 170: in computed list but not hint table -WARNING: page 22: shared object 172: in computed list but not hint table -WARNING: page 23: shared object 170: in computed list but not hint table -WARNING: page 23: shared object 172: in computed list but not hint table -WARNING: page 24: shared object 170: in computed list but not hint table -WARNING: page 24: shared object 172: in computed list but not hint table -WARNING: page 25: shared object 170: in computed list but not hint table -WARNING: page 25: shared object 172: in computed list but not hint table -WARNING: page 26: shared object 170: in computed list but not hint table -WARNING: page 26: shared object 172: in computed list but not hint table -WARNING: page 27: shared object 170: in computed list but not hint table -WARNING: page 27: shared object 172: in computed list but not hint table -WARNING: page 28: shared object 170: in computed list but not hint table -WARNING: page 28: shared object 172: in computed list but not hint table -WARNING: page 29: shared object 170: in computed list but not hint table -WARNING: page 29: shared object 172: in computed list but not hint table -WARNING: incorrect offset in outlines table: hint table = 1710; computed = 1627 -WARNING: incorrect length in outlines table: hint table = 2124; computed = 2075 +WARNING: lin5.pdf: end of first page section (/E) mismatch: /E = 4213; computed = 4004..4005 +WARNING: lin5.pdf: page 1: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 1: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 2: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 2: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 3: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 3: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 4: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 4: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 5: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 5: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 6: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 6: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 7: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 7: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 8: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 8: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 9: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 9: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 10: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 10: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 11: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 11: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 12: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 12: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 13: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 13: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 14: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 14: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 15: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 15: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 16: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 16: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 17: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 17: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 18: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 18: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 19: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 19: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 20: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 20: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 21: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 21: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 22: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 22: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 23: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 23: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 24: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 24: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 25: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 25: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 26: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 26: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 27: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 27: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 28: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 28: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: page 29: shared object 170: in computed list but not hint table +WARNING: lin5.pdf: page 29: shared object 172: in computed list but not hint table +WARNING: lin5.pdf: incorrect offset in outlines table: hint table = 1710; computed = 1627 +WARNING: lin5.pdf: incorrect length in outlines table: hint table = 2124; computed = 2075 lin5.pdf: linearization data: file_size: 27464 @@ -316,3 +316,4 @@ first_object: 157 first_object_offset: 1710 nobjects: 12 group_length: 2124 +qpdf: operation succeeded with warnings diff --git a/qpdf/qtest/qpdf/lin6.out b/qpdf/qtest/qpdf/lin6.out index 3ed08aa8..0b4fafe0 100644 --- a/qpdf/qtest/qpdf/lin6.out +++ b/qpdf/qtest/qpdf/lin6.out @@ -1,94 +1,94 @@ -WARNING: end of first page section (/E) mismatch: /E = 2897; computed = 5005..5007 -WARNING: object count mismatch for page 0: hint table = 19; computed = 16 -WARNING: page 0 has shared identifier entries -WARNING: page 0: shared object 93: in hint table but not computed list -WARNING: object count mismatch for page 1: hint table = 3; computed = 2 -WARNING: page 1: shared object 98: in hint table but not computed list -WARNING: page 1: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 2: hint table = 3; computed = 2 -WARNING: page 2: shared object 98: in hint table but not computed list -WARNING: page 2: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 3: hint table = 3; computed = 2 -WARNING: page 3: shared object 98: in hint table but not computed list -WARNING: page 3: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 4: hint table = 3; computed = 2 -WARNING: page 4: shared object 98: in hint table but not computed list -WARNING: page 4: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 5: hint table = 3; computed = 2 -WARNING: page 5: shared object 98: in hint table but not computed list -WARNING: page 5: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 6: hint table = 3; computed = 2 -WARNING: page 6: shared object 98: in hint table but not computed list -WARNING: page 6: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 7: hint table = 3; computed = 2 -WARNING: page 7: shared object 98: in hint table but not computed list -WARNING: page 7: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 8: hint table = 3; computed = 2 -WARNING: page 8: shared object 98: in hint table but not computed list -WARNING: page 8: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 9: hint table = 3; computed = 2 -WARNING: page 9: shared object 98: in hint table but not computed list -WARNING: page 9: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 10: hint table = 3; computed = 2 -WARNING: page 10: shared object 98: in hint table but not computed list -WARNING: page 10: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 11: hint table = 3; computed = 2 -WARNING: page 11: shared object 98: in hint table but not computed list -WARNING: page 11: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 12: hint table = 3; computed = 2 -WARNING: page 12: shared object 98: in hint table but not computed list -WARNING: page 12: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 13: hint table = 3; computed = 2 -WARNING: page 13: shared object 98: in hint table but not computed list -WARNING: page 13: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 14: hint table = 3; computed = 2 -WARNING: page 14: shared object 98: in hint table but not computed list -WARNING: page 14: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 15: hint table = 3; computed = 2 -WARNING: page 15: shared object 98: in hint table but not computed list -WARNING: page 15: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 16: hint table = 3; computed = 2 -WARNING: page 16: shared object 98: in hint table but not computed list -WARNING: page 16: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 17: hint table = 3; computed = 2 -WARNING: page 17: shared object 98: in hint table but not computed list -WARNING: page 17: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 18: hint table = 3; computed = 2 -WARNING: page 18: shared object 98: in hint table but not computed list -WARNING: page 18: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 19: hint table = 3; computed = 2 -WARNING: page 19: shared object 98: in hint table but not computed list -WARNING: page 19: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 20: hint table = 3; computed = 2 -WARNING: page 20: shared object 98: in hint table but not computed list -WARNING: page 20: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 21: hint table = 3; computed = 2 -WARNING: page 21: shared object 98: in hint table but not computed list -WARNING: page 21: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 22: hint table = 3; computed = 2 -WARNING: page 22: shared object 98: in hint table but not computed list -WARNING: page 22: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 23: hint table = 3; computed = 2 -WARNING: page 23: shared object 98: in hint table but not computed list -WARNING: page 23: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 24: hint table = 3; computed = 2 -WARNING: page 24: shared object 98: in hint table but not computed list -WARNING: page 24: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 25: hint table = 3; computed = 2 -WARNING: page 25: shared object 98: in hint table but not computed list -WARNING: page 25: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 26: hint table = 3; computed = 2 -WARNING: page 26: shared object 98: in hint table but not computed list -WARNING: page 26: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 27: hint table = 3; computed = 2 -WARNING: page 27: shared object 98: in hint table but not computed list -WARNING: page 27: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 28: hint table = 3; computed = 2 -WARNING: page 28: shared object 98: in hint table but not computed list -WARNING: page 28: shared object 99: in hint table but not computed list -WARNING: object count mismatch for page 29: hint table = 3; computed = 2 -WARNING: page 29: shared object 98: in hint table but not computed list -WARNING: page 29: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: end of first page section (/E) mismatch: /E = 2897; computed = 5005..5007 +WARNING: lin6.pdf: object count mismatch for page 0: hint table = 19; computed = 16 +WARNING: lin6.pdf: page 0 has shared identifier entries +WARNING: lin6.pdf: page 0: shared object 93: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 1: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 1: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 1: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 2: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 2: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 2: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 3: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 3: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 3: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 4: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 4: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 4: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 5: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 5: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 5: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 6: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 6: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 6: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 7: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 7: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 7: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 8: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 8: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 8: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 9: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 9: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 9: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 10: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 10: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 10: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 11: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 11: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 11: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 12: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 12: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 12: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 13: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 13: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 13: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 14: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 14: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 14: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 15: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 15: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 15: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 16: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 16: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 16: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 17: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 17: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 17: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 18: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 18: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 18: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 19: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 19: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 19: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 20: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 20: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 20: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 21: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 21: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 21: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 22: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 22: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 22: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 23: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 23: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 23: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 24: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 24: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 24: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 25: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 25: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 25: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 26: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 26: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 26: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 27: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 27: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 27: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 28: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 28: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 28: shared object 99: in hint table but not computed list +WARNING: lin6.pdf: object count mismatch for page 29: hint table = 3; computed = 2 +WARNING: lin6.pdf: page 29: shared object 98: in hint table but not computed list +WARNING: lin6.pdf: page 29: shared object 99: in hint table but not computed list lin6.pdf: linearization data: file_size: 24824 @@ -590,3 +590,4 @@ first_object: 100 first_object_offset: 2897 nobjects: 12 group_length: 2110 +qpdf: operation succeeded with warnings diff --git a/qpdf/qtest/qpdf/lin7.out b/qpdf/qtest/qpdf/lin7.out index c98d172a..09a663a1 100644 --- a/qpdf/qtest/qpdf/lin7.out +++ b/qpdf/qtest/qpdf/lin7.out @@ -1,62 +1,62 @@ -WARNING: end of first page section (/E) mismatch: /E = 1865; computed = 1655..1656 -WARNING: page 1: shared object 170: in computed list but not hint table -WARNING: page 1: shared object 172: in computed list but not hint table -WARNING: page 2: shared object 170: in computed list but not hint table -WARNING: page 2: shared object 172: in computed list but not hint table -WARNING: page 3: shared object 170: in computed list but not hint table -WARNING: page 3: shared object 172: in computed list but not hint table -WARNING: page 4: shared object 170: in computed list but not hint table -WARNING: page 4: shared object 172: in computed list but not hint table -WARNING: page 5: shared object 170: in computed list but not hint table -WARNING: page 5: shared object 172: in computed list but not hint table -WARNING: page 6: shared object 170: in computed list but not hint table -WARNING: page 6: shared object 172: in computed list but not hint table -WARNING: page 7: shared object 170: in computed list but not hint table -WARNING: page 7: shared object 172: in computed list but not hint table -WARNING: page 8: shared object 170: in computed list but not hint table -WARNING: page 8: shared object 172: in computed list but not hint table -WARNING: page 9: shared object 170: in computed list but not hint table -WARNING: page 9: shared object 172: in computed list but not hint table -WARNING: page 10: shared object 170: in computed list but not hint table -WARNING: page 10: shared object 172: in computed list but not hint table -WARNING: page 11: shared object 170: in computed list but not hint table -WARNING: page 11: shared object 172: in computed list but not hint table -WARNING: page 12: shared object 170: in computed list but not hint table -WARNING: page 12: shared object 172: in computed list but not hint table -WARNING: page 13: shared object 170: in computed list but not hint table -WARNING: page 13: shared object 172: in computed list but not hint table -WARNING: page 14: shared object 170: in computed list but not hint table -WARNING: page 14: shared object 172: in computed list but not hint table -WARNING: page 15: shared object 170: in computed list but not hint table -WARNING: page 15: shared object 172: in computed list but not hint table -WARNING: page 16: shared object 170: in computed list but not hint table -WARNING: page 16: shared object 172: in computed list but not hint table -WARNING: page 17: shared object 170: in computed list but not hint table -WARNING: page 17: shared object 172: in computed list but not hint table -WARNING: page 18: shared object 170: in computed list but not hint table -WARNING: page 18: shared object 172: in computed list but not hint table -WARNING: page 19: shared object 170: in computed list but not hint table -WARNING: page 19: shared object 172: in computed list but not hint table -WARNING: page 20: shared object 170: in computed list but not hint table -WARNING: page 20: shared object 172: in computed list but not hint table -WARNING: page 21: shared object 170: in computed list but not hint table -WARNING: page 21: shared object 172: in computed list but not hint table -WARNING: page 22: shared object 170: in computed list but not hint table -WARNING: page 22: shared object 172: in computed list but not hint table -WARNING: page 23: shared object 170: in computed list but not hint table -WARNING: page 23: shared object 172: in computed list but not hint table -WARNING: page 24: shared object 170: in computed list but not hint table -WARNING: page 24: shared object 172: in computed list but not hint table -WARNING: page 25: shared object 170: in computed list but not hint table -WARNING: page 25: shared object 172: in computed list but not hint table -WARNING: page 26: shared object 170: in computed list but not hint table -WARNING: page 26: shared object 172: in computed list but not hint table -WARNING: page 27: shared object 170: in computed list but not hint table -WARNING: page 27: shared object 172: in computed list but not hint table -WARNING: page 28: shared object 170: in computed list but not hint table -WARNING: page 28: shared object 172: in computed list but not hint table -WARNING: page 29: shared object 170: in computed list but not hint table -WARNING: page 29: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: end of first page section (/E) mismatch: /E = 1865; computed = 1655..1656 +WARNING: lin7.pdf: page 1: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 1: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 2: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 2: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 3: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 3: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 4: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 4: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 5: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 5: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 6: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 6: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 7: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 7: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 8: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 8: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 9: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 9: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 10: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 10: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 11: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 11: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 12: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 12: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 13: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 13: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 14: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 14: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 15: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 15: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 16: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 16: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 17: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 17: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 18: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 18: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 19: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 19: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 20: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 20: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 21: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 21: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 22: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 22: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 23: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 23: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 24: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 24: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 25: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 25: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 26: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 26: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 27: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 27: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 28: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 28: shared object 172: in computed list but not hint table +WARNING: lin7.pdf: page 29: shared object 170: in computed list but not hint table +WARNING: lin7.pdf: page 29: shared object 172: in computed list but not hint table lin7.pdf: linearization data: file_size: 27408 @@ -290,3 +290,4 @@ first_object: 88 first_object_offset: 12129 nobjects: 12 group_length: 2030 +qpdf: operation succeeded with warnings diff --git a/qpdf/qtest/qpdf/lin8.out b/qpdf/qtest/qpdf/lin8.out index 696b759c..5290a34c 100644 --- a/qpdf/qtest/qpdf/lin8.out +++ b/qpdf/qtest/qpdf/lin8.out @@ -1,94 +1,94 @@ -WARNING: end of first page section (/E) mismatch: /E = 2656; computed = 1768..1770 -WARNING: object count mismatch for page 0: hint table = 7; computed = 4 -WARNING: page 0 has shared identifier entries -WARNING: page 0: shared object 105: in hint table but not computed list -WARNING: object count mismatch for page 1: hint table = 3; computed = 2 -WARNING: page 1: shared object 110: in hint table but not computed list -WARNING: page 1: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 2: hint table = 3; computed = 2 -WARNING: page 2: shared object 110: in hint table but not computed list -WARNING: page 2: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 3: hint table = 3; computed = 2 -WARNING: page 3: shared object 110: in hint table but not computed list -WARNING: page 3: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 4: hint table = 3; computed = 2 -WARNING: page 4: shared object 110: in hint table but not computed list -WARNING: page 4: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 5: hint table = 3; computed = 2 -WARNING: page 5: shared object 110: in hint table but not computed list -WARNING: page 5: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 6: hint table = 3; computed = 2 -WARNING: page 6: shared object 110: in hint table but not computed list -WARNING: page 6: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 7: hint table = 3; computed = 2 -WARNING: page 7: shared object 110: in hint table but not computed list -WARNING: page 7: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 8: hint table = 3; computed = 2 -WARNING: page 8: shared object 110: in hint table but not computed list -WARNING: page 8: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 9: hint table = 3; computed = 2 -WARNING: page 9: shared object 110: in hint table but not computed list -WARNING: page 9: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 10: hint table = 3; computed = 2 -WARNING: page 10: shared object 110: in hint table but not computed list -WARNING: page 10: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 11: hint table = 3; computed = 2 -WARNING: page 11: shared object 110: in hint table but not computed list -WARNING: page 11: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 12: hint table = 3; computed = 2 -WARNING: page 12: shared object 110: in hint table but not computed list -WARNING: page 12: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 13: hint table = 3; computed = 2 -WARNING: page 13: shared object 110: in hint table but not computed list -WARNING: page 13: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 14: hint table = 3; computed = 2 -WARNING: page 14: shared object 110: in hint table but not computed list -WARNING: page 14: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 15: hint table = 3; computed = 2 -WARNING: page 15: shared object 110: in hint table but not computed list -WARNING: page 15: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 16: hint table = 3; computed = 2 -WARNING: page 16: shared object 110: in hint table but not computed list -WARNING: page 16: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 17: hint table = 3; computed = 2 -WARNING: page 17: shared object 110: in hint table but not computed list -WARNING: page 17: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 18: hint table = 3; computed = 2 -WARNING: page 18: shared object 110: in hint table but not computed list -WARNING: page 18: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 19: hint table = 3; computed = 2 -WARNING: page 19: shared object 110: in hint table but not computed list -WARNING: page 19: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 20: hint table = 3; computed = 2 -WARNING: page 20: shared object 110: in hint table but not computed list -WARNING: page 20: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 21: hint table = 3; computed = 2 -WARNING: page 21: shared object 110: in hint table but not computed list -WARNING: page 21: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 22: hint table = 3; computed = 2 -WARNING: page 22: shared object 110: in hint table but not computed list -WARNING: page 22: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 23: hint table = 3; computed = 2 -WARNING: page 23: shared object 110: in hint table but not computed list -WARNING: page 23: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 24: hint table = 3; computed = 2 -WARNING: page 24: shared object 110: in hint table but not computed list -WARNING: page 24: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 25: hint table = 3; computed = 2 -WARNING: page 25: shared object 110: in hint table but not computed list -WARNING: page 25: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 26: hint table = 3; computed = 2 -WARNING: page 26: shared object 110: in hint table but not computed list -WARNING: page 26: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 27: hint table = 3; computed = 2 -WARNING: page 27: shared object 110: in hint table but not computed list -WARNING: page 27: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 28: hint table = 3; computed = 2 -WARNING: page 28: shared object 110: in hint table but not computed list -WARNING: page 28: shared object 111: in hint table but not computed list -WARNING: object count mismatch for page 29: hint table = 3; computed = 2 -WARNING: page 29: shared object 110: in hint table but not computed list -WARNING: page 29: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: end of first page section (/E) mismatch: /E = 2656; computed = 1768..1770 +WARNING: lin8.pdf: object count mismatch for page 0: hint table = 7; computed = 4 +WARNING: lin8.pdf: page 0 has shared identifier entries +WARNING: lin8.pdf: page 0: shared object 105: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 1: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 1: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 1: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 2: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 2: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 2: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 3: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 3: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 3: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 4: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 4: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 4: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 5: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 5: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 5: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 6: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 6: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 6: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 7: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 7: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 7: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 8: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 8: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 8: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 9: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 9: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 9: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 10: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 10: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 10: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 11: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 11: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 11: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 12: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 12: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 12: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 13: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 13: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 13: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 14: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 14: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 14: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 15: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 15: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 15: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 16: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 16: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 16: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 17: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 17: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 17: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 18: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 18: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 18: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 19: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 19: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 19: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 20: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 20: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 20: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 21: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 21: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 21: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 22: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 22: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 22: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 23: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 23: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 23: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 24: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 24: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 24: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 25: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 25: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 25: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 26: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 26: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 26: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 27: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 27: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 27: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 28: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 28: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 28: shared object 111: in hint table but not computed list +WARNING: lin8.pdf: object count mismatch for page 29: hint table = 3; computed = 2 +WARNING: lin8.pdf: page 29: shared object 110: in hint table but not computed list +WARNING: lin8.pdf: page 29: shared object 111: in hint table but not computed list lin8.pdf: linearization data: file_size: 24875 @@ -566,3 +566,4 @@ first_object: 89 first_object_offset: 20067 nobjects: 12 group_length: 2069 +qpdf: operation succeeded with warnings diff --git a/qpdf/qtest/qpdf/lin9.out b/qpdf/qtest/qpdf/lin9.out index 6fde8441..f6d57c78 100644 --- a/qpdf/qtest/qpdf/lin9.out +++ b/qpdf/qtest/qpdf/lin9.out @@ -1,5 +1,5 @@ -WARNING: page 0 has shared identifier entries -WARNING: page 0: shared object 19: in hint table but not computed list +WARNING: lin9.pdf: page 0 has shared identifier entries +WARNING: lin9.pdf: page 0: shared object 19: in hint table but not computed list lin9.pdf: linearization data: file_size: 3316 @@ -102,3 +102,4 @@ Shared Object 5: group length: 67 Shared Object 6: group length: 117 +qpdf: operation succeeded with warnings diff --git a/qpdf/qtest/qpdf/linearization-bounds-1.out b/qpdf/qtest/qpdf/linearization-bounds-1.out index ff81a903..0f318de9 100644 --- a/qpdf/qtest/qpdf/linearization-bounds-1.out +++ b/qpdf/qtest/qpdf/linearization-bounds-1.out @@ -5,5 +5,5 @@ File is linearized WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 12302): expected endstream WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106 -WARNING: error encountered while checking linearization data: linearization-bounds-1.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds +WARNING: linearization-bounds-1.pdf: error encountered while checking linearization data: linearization-bounds-1.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds qpdf: operation succeeded with warnings diff --git a/qpdf/qtest/qpdf/linearization-bounds-2.out b/qpdf/qtest/qpdf/linearization-bounds-2.out index b7386ab3..4fbe519a 100644 --- a/qpdf/qtest/qpdf/linearization-bounds-2.out +++ b/qpdf/qtest/qpdf/linearization-bounds-2.out @@ -5,5 +5,5 @@ File is linearized WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1282): expected endstream WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106 -WARNING: error encountered while checking linearization data: linearization-bounds-2.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds +WARNING: linearization-bounds-2.pdf: error encountered while checking linearization data: linearization-bounds-2.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds qpdf: operation succeeded with warnings diff --git a/qpdf/qtest/qpdf/linearization-large-vector-alloc.out b/qpdf/qtest/qpdf/linearization-large-vector-alloc.out index 66ee998c..7e323f49 100644 --- a/qpdf/qtest/qpdf/linearization-large-vector-alloc.out +++ b/qpdf/qtest/qpdf/linearization-large-vector-alloc.out @@ -5,5 +5,5 @@ File is linearized WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1282): expected endstream WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106 -WARNING: error encountered while checking linearization data: overflow reading bit stream: wanted = 12556; available = 968 +WARNING: linearization-large-vector-alloc.pdf: error encountered while checking linearization data: overflow reading bit stream: wanted = 12556; available = 968 qpdf: operation succeeded with warnings