mirror of
https://github.com/qpdf/qpdf.git
synced 2024-05-30 00:40:52 +00:00
Handle linearization warnings as proper warning (fixes #851)
This commit is contained in:
parent
088fabd9b9
commit
0f97e98203
|
@ -1,3 +1,10 @@
|
||||||
|
2023-02-18 Jay Berkenbilt <ejb@ql.org>
|
||||||
|
|
||||||
|
* 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 <ejb@ql.org>
|
2023-01-28 Jay Berkenbilt <ejb@ql.org>
|
||||||
|
|
||||||
* New option --remove-restrictions removes security restrictions
|
* New option --remove-restrictions removes security restrictions
|
||||||
|
|
|
@ -127,6 +127,8 @@ CODING RULES
|
||||||
"Code Formatting" section in manual/contributing.rst for details.
|
"Code Formatting" section in manual/contributing.rst for details.
|
||||||
See also "CODE FORMATTING" below.
|
See also "CODE FORMATTING" below.
|
||||||
|
|
||||||
|
* Use std::to_string instead of QUtil::int_to_string et al
|
||||||
|
|
||||||
* Use of assert:
|
* Use of assert:
|
||||||
|
|
||||||
* Test code: #include <qpdf/assert_test.h> first.
|
* Test code: #include <qpdf/assert_test.h> first.
|
||||||
|
|
1
TODO
1
TODO
|
@ -11,7 +11,6 @@ Always
|
||||||
|
|
||||||
* Fix #874 -- make args in --encrypt to match the json and make
|
* Fix #874 -- make args in --encrypt to match the json and make
|
||||||
positional fill in the gaps
|
positional fill in the gaps
|
||||||
* Fix #851 -- not suppressing linearization warnings
|
|
||||||
* Maybe fix #553 -- use file times for attachments
|
* Maybe fix #553 -- use file times for attachments
|
||||||
* Clarify idempotency section to emphasize --deterministic-id over
|
* Clarify idempotency section to emphasize --deterministic-id over
|
||||||
--static-id
|
--static-id
|
||||||
|
|
|
@ -83,14 +83,15 @@ enum qpdf_exit_code_e {
|
||||||
|
|
||||||
enum qpdf_error_code_e {
|
enum qpdf_error_code_e {
|
||||||
qpdf_e_success = 0,
|
qpdf_e_success = 0,
|
||||||
qpdf_e_internal, /* logic/programming error -- indicates bug */
|
qpdf_e_internal, /* logic/programming error -- indicates bug */
|
||||||
qpdf_e_system, /* I/O error, memory error, etc. */
|
qpdf_e_system, /* I/O error, memory error, etc. */
|
||||||
qpdf_e_unsupported, /* PDF feature not (yet) supported by qpdf */
|
qpdf_e_unsupported, /* PDF feature not (yet) supported by qpdf */
|
||||||
qpdf_e_password, /* incorrect password for encrypted file */
|
qpdf_e_password, /* incorrect password for encrypted file */
|
||||||
qpdf_e_damaged_pdf, /* syntax errors or other damage in PDF */
|
qpdf_e_damaged_pdf, /* syntax errors or other damage in PDF */
|
||||||
qpdf_e_pages, /* erroneous or unsupported pages structure */
|
qpdf_e_pages, /* erroneous or unsupported pages structure */
|
||||||
qpdf_e_object, /* type/bounds errors accessing objects */
|
qpdf_e_object, /* type/bounds errors accessing objects */
|
||||||
qpdf_e_json, /* error in qpdf JSON */
|
qpdf_e_json, /* error in qpdf JSON */
|
||||||
|
qpdf_e_linearization, /* linearization warning */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Object Types */
|
/* Object Types */
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <string_view>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include <qpdf/Buffer.hh>
|
#include <qpdf/Buffer.hh>
|
||||||
|
@ -1565,6 +1566,7 @@ class QPDF
|
||||||
void readLinearizationData();
|
void readLinearizationData();
|
||||||
bool checkLinearizationInternal();
|
bool checkLinearizationInternal();
|
||||||
void dumpLinearizationDataInternal();
|
void dumpLinearizationDataInternal();
|
||||||
|
void linearizationWarning(std::string_view);
|
||||||
QPDFObjectHandle
|
QPDFObjectHandle
|
||||||
readHintStream(Pipeline&, qpdf_offset_t offset, size_t length);
|
readHintStream(Pipeline&, qpdf_offset_t offset, size_t length);
|
||||||
void readHPageOffset(BitStream);
|
void readHPageOffset(BitStream);
|
||||||
|
@ -1574,18 +1576,14 @@ class QPDF
|
||||||
qpdf_offset_t getLinearizationOffset(QPDFObjGen const&);
|
qpdf_offset_t getLinearizationOffset(QPDFObjGen const&);
|
||||||
QPDFObjectHandle getUncompressedObject(
|
QPDFObjectHandle getUncompressedObject(
|
||||||
QPDFObjectHandle&, std::map<int, int> const& object_stream_data);
|
QPDFObjectHandle&, std::map<int, int> const& object_stream_data);
|
||||||
int lengthNextN(int first_object, int n, std::list<std::string>& errors);
|
int lengthNextN(int first_object, int n);
|
||||||
void checkHPageOffset(
|
void checkHPageOffset(
|
||||||
std::list<std::string>& errors,
|
|
||||||
std::list<std::string>& warnings,
|
|
||||||
std::vector<QPDFObjectHandle> const& pages,
|
std::vector<QPDFObjectHandle> const& pages,
|
||||||
std::map<int, int>& idx_to_obj);
|
std::map<int, int>& idx_to_obj);
|
||||||
void checkHSharedObject(
|
void checkHSharedObject(
|
||||||
std::list<std::string>& warnings,
|
|
||||||
std::list<std::string>& errors,
|
|
||||||
std::vector<QPDFObjectHandle> const& pages,
|
std::vector<QPDFObjectHandle> const& pages,
|
||||||
std::map<int, int>& idx_to_obj);
|
std::map<int, int>& idx_to_obj);
|
||||||
void checkHOutlines(std::list<std::string>& warnings);
|
void checkHOutlines();
|
||||||
void dumpHPageOffset();
|
void dumpHPageOffset();
|
||||||
void dumpHSharedObject();
|
void dumpHSharedObject();
|
||||||
void dumpHGeneric(HGeneric&);
|
void dumpHGeneric(HGeneric&);
|
||||||
|
@ -1728,6 +1726,7 @@ class QPDF
|
||||||
// Linearization data
|
// Linearization data
|
||||||
qpdf_offset_t first_xref_item_offset{0}; // actual value from file
|
qpdf_offset_t first_xref_item_offset{0}; // actual value from file
|
||||||
bool uncompressed_after_compressed{false};
|
bool uncompressed_after_compressed{false};
|
||||||
|
bool linearization_warnings{false};
|
||||||
|
|
||||||
// Linearization parameter dictionary and hint table data: may be
|
// Linearization parameter dictionary and hint table data: may be
|
||||||
// read from file or computed prior to writing a linearized file
|
// read from file or computed prior to writing a linearized file
|
||||||
|
|
|
@ -783,7 +783,6 @@ QPDFJob::doCheck(QPDF& pdf)
|
||||||
// continue to perform additional checks after finding
|
// continue to perform additional checks after finding
|
||||||
// errors.
|
// errors.
|
||||||
bool okay = true;
|
bool okay = true;
|
||||||
bool warnings = false;
|
|
||||||
auto& cout = *this->m->log->getInfo();
|
auto& cout = *this->m->log->getInfo();
|
||||||
cout << "checking " << m->infilename.get() << "\n";
|
cout << "checking " << m->infilename.get() << "\n";
|
||||||
try {
|
try {
|
||||||
|
@ -796,12 +795,7 @@ QPDFJob::doCheck(QPDF& pdf)
|
||||||
showEncryption(pdf);
|
showEncryption(pdf);
|
||||||
if (pdf.isLinearized()) {
|
if (pdf.isLinearized()) {
|
||||||
cout << "File is linearized\n";
|
cout << "File is linearized\n";
|
||||||
// any errors or warnings are reported by
|
pdf.checkLinearization();
|
||||||
// checkLinearization(). We treat all issues reported here
|
|
||||||
// as warnings.
|
|
||||||
if (!pdf.checkLinearization()) {
|
|
||||||
warnings = true;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
cout << "File is not linearized\n";
|
cout << "File is not linearized\n";
|
||||||
}
|
}
|
||||||
|
@ -836,7 +830,7 @@ QPDFJob::doCheck(QPDF& pdf)
|
||||||
throw std::runtime_error("errors detected");
|
throw std::runtime_error("errors detected");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!pdf.getWarnings().empty()) || warnings) {
|
if (!pdf.getWarnings().empty()) {
|
||||||
this->m->warnings = true;
|
this->m->warnings = true;
|
||||||
} else {
|
} else {
|
||||||
*this->m->log->getInfo() << "No syntax or stream encoding errors"
|
*this->m->log->getInfo() << "No syntax or stream encoding errors"
|
||||||
|
|
|
@ -65,6 +65,13 @@ load_vector_vector(
|
||||||
bit_stream.skipToNextByte();
|
bit_stream.skipToNextByte();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
QPDF::linearizationWarning(std::string_view msg)
|
||||||
|
{
|
||||||
|
this->m->linearization_warnings = true;
|
||||||
|
warn(qpdf_e_linearization, "", 0, std::string(msg));
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
QPDF::checkLinearization()
|
QPDF::checkLinearization()
|
||||||
{
|
{
|
||||||
|
@ -73,9 +80,9 @@ QPDF::checkLinearization()
|
||||||
readLinearizationData();
|
readLinearizationData();
|
||||||
result = checkLinearizationInternal();
|
result = checkLinearizationInternal();
|
||||||
} catch (std::runtime_error& e) {
|
} catch (std::runtime_error& e) {
|
||||||
*this->m->log->getError()
|
linearizationWarning(
|
||||||
<< "WARNING: error encountered while checking linearization data: "
|
"error encountered while checking linearization data: " +
|
||||||
<< e.what() << "\n";
|
std::string(e.what()));
|
||||||
}
|
}
|
||||||
return result;
|
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);
|
qpdf_offset_t computed_end = offset + toO(length);
|
||||||
if ((computed_end < min_end_offset) || (computed_end > max_end_offset)) {
|
if ((computed_end < min_end_offset) || (computed_end > max_end_offset)) {
|
||||||
*this->m->log->getError()
|
linearizationWarning(
|
||||||
<< "expected = " << computed_end << "; actual = " << min_end_offset
|
"expected = " + std::to_string(computed_end) +
|
||||||
<< ".." << max_end_offset << "\n";
|
"; actual = " + std::to_string(min_end_offset) + ".." +
|
||||||
|
std::to_string(max_end_offset));
|
||||||
throw damagedPDF(
|
throw damagedPDF(
|
||||||
"linearization dictionary", "hint table length mismatch");
|
"linearization dictionary", "hint table length mismatch");
|
||||||
}
|
}
|
||||||
|
@ -476,9 +484,6 @@ QPDF::checkLinearizationInternal()
|
||||||
// All comments referring to the PDF spec refer to the spec for
|
// All comments referring to the PDF spec refer to the spec for
|
||||||
// version 1.4.
|
// version 1.4.
|
||||||
|
|
||||||
std::list<std::string> errors;
|
|
||||||
std::list<std::string> warnings;
|
|
||||||
|
|
||||||
// Check all values in linearization parameter dictionary
|
// Check all values in linearization parameter dictionary
|
||||||
|
|
||||||
LinParameters& p = this->m->linp;
|
LinParameters& p = this->m->linp;
|
||||||
|
@ -489,21 +494,21 @@ QPDF::checkLinearizationInternal()
|
||||||
std::vector<QPDFObjectHandle> const& pages = getAllPages();
|
std::vector<QPDFObjectHandle> const& pages = getAllPages();
|
||||||
if (p.first_page_object != pages.at(0).getObjectID()) {
|
if (p.first_page_object != pages.at(0).getObjectID()) {
|
||||||
QTC::TC("qpdf", "QPDF err /O mismatch");
|
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
|
// N: number of pages
|
||||||
int npages = toI(pages.size());
|
int npages = toI(pages.size());
|
||||||
if (p.npages != npages) {
|
if (p.npages != npages) {
|
||||||
// Not tested in the test suite
|
// 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) {
|
for (size_t i = 0; i < toS(npages); ++i) {
|
||||||
QPDFObjectHandle const& page = pages.at(i);
|
QPDFObjectHandle const& page = pages.at(i);
|
||||||
QPDFObjGen og(page.getObjGen());
|
QPDFObjGen og(page.getObjGen());
|
||||||
if (this->m->xref_table[og].getType() == 2) {
|
if (this->m->xref_table[og].getType() == 2) {
|
||||||
errors.push_back(
|
linearizationWarning(
|
||||||
"page dictionary for page " + std::to_string(i) +
|
"page dictionary for page " + std::to_string(i) +
|
||||||
" is compressed");
|
" is compressed");
|
||||||
}
|
}
|
||||||
|
@ -521,7 +526,7 @@ QPDF::checkLinearizationInternal()
|
||||||
}
|
}
|
||||||
if (this->m->file->tell() != this->m->first_xref_item_offset) {
|
if (this->m->file->tell() != this->m->first_xref_item_offset) {
|
||||||
QTC::TC("qpdf", "QPDF err /T mismatch");
|
QTC::TC("qpdf", "QPDF err /T mismatch");
|
||||||
errors.push_back(
|
linearizationWarning(
|
||||||
"space before first xref item (/T) mismatch "
|
"space before first xref item (/T) mismatch "
|
||||||
"(computed = " +
|
"(computed = " +
|
||||||
std::to_string(this->m->first_xref_item_offset) +
|
std::to_string(this->m->first_xref_item_offset) +
|
||||||
|
@ -537,8 +542,9 @@ QPDF::checkLinearizationInternal()
|
||||||
// are in use.
|
// are in use.
|
||||||
|
|
||||||
if (this->m->uncompressed_after_compressed) {
|
if (this->m->uncompressed_after_compressed) {
|
||||||
errors.push_back("linearized file contains an uncompressed object"
|
linearizationWarning(
|
||||||
" after a compressed one in a cross-reference stream");
|
"linearized file contains an uncompressed object"
|
||||||
|
" after a compressed one in a cross-reference stream");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Further checking requires optimization and order calculation.
|
// 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)) {
|
if ((p.first_page_end < min_E) || (p.first_page_end > max_E)) {
|
||||||
QTC::TC("qpdf", "QPDF warn /E mismatch");
|
QTC::TC("qpdf", "QPDF warn /E mismatch");
|
||||||
warnings.push_back(
|
linearizationWarning(
|
||||||
"end of first page section (/E) mismatch: /E = " +
|
"end of first page section (/E) mismatch: /E = " +
|
||||||
std::to_string(p.first_page_end) + "; computed = " +
|
std::to_string(p.first_page_end) + "; computed = " +
|
||||||
std::to_string(min_E) + ".." + std::to_string(max_E));
|
std::to_string(min_E) + ".." + std::to_string(max_E));
|
||||||
|
@ -596,34 +602,11 @@ QPDF::checkLinearizationInternal()
|
||||||
// Check hint tables
|
// Check hint tables
|
||||||
|
|
||||||
std::map<int, int> shared_idx_to_obj;
|
std::map<int, int> shared_idx_to_obj;
|
||||||
checkHSharedObject(errors, warnings, pages, shared_idx_to_obj);
|
checkHSharedObject(pages, shared_idx_to_obj);
|
||||||
checkHPageOffset(errors, warnings, pages, shared_idx_to_obj);
|
checkHPageOffset(pages, shared_idx_to_obj);
|
||||||
checkHOutlines(warnings);
|
checkHOutlines();
|
||||||
|
|
||||||
// Report errors
|
return !this->m->linearization_warnings;
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
qpdf_offset_t
|
qpdf_offset_t
|
||||||
|
@ -680,13 +663,13 @@ QPDF::getUncompressedObject(
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
QPDF::lengthNextN(int first_object, int n, std::list<std::string>& errors)
|
QPDF::lengthNextN(int first_object, int n)
|
||||||
{
|
{
|
||||||
int length = 0;
|
int length = 0;
|
||||||
for (int i = 0; i < n; ++i) {
|
for (int i = 0; i < n; ++i) {
|
||||||
QPDFObjGen og(first_object + i, 0);
|
QPDFObjGen og(first_object + i, 0);
|
||||||
if (this->m->xref_table.count(og) == 0) {
|
if (this->m->xref_table.count(og) == 0) {
|
||||||
errors.push_back(
|
linearizationWarning(
|
||||||
"no xref table entry for " + std::to_string(first_object + i) +
|
"no xref table entry for " + std::to_string(first_object + i) +
|
||||||
" 0");
|
" 0");
|
||||||
} else {
|
} else {
|
||||||
|
@ -704,8 +687,6 @@ QPDF::lengthNextN(int first_object, int n, std::list<std::string>& errors)
|
||||||
|
|
||||||
void
|
void
|
||||||
QPDF::checkHPageOffset(
|
QPDF::checkHPageOffset(
|
||||||
std::list<std::string>& errors,
|
|
||||||
std::list<std::string>& warnings,
|
|
||||||
std::vector<QPDFObjectHandle> const& pages,
|
std::vector<QPDFObjectHandle> const& pages,
|
||||||
std::map<int, int>& shared_idx_to_obj)
|
std::map<int, int>& shared_idx_to_obj)
|
||||||
{
|
{
|
||||||
|
@ -735,7 +716,7 @@ QPDF::checkHPageOffset(
|
||||||
}
|
}
|
||||||
qpdf_offset_t offset = getLinearizationOffset(first_page_og);
|
qpdf_offset_t offset = getLinearizationOffset(first_page_og);
|
||||||
if (table_offset != offset) {
|
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) {
|
for (int pageno = 0; pageno < npages; ++pageno) {
|
||||||
|
@ -754,7 +735,7 @@ QPDF::checkHPageOffset(
|
||||||
he.delta_nobjects + this->m->page_offset_hints.min_nobjects;
|
he.delta_nobjects + this->m->page_offset_hints.min_nobjects;
|
||||||
if (h_nobjects != ce.nobjects) {
|
if (h_nobjects != ce.nobjects) {
|
||||||
// This happens with pdlin when there are thumbnails.
|
// This happens with pdlin when there are thumbnails.
|
||||||
warnings.push_back(
|
linearizationWarning(
|
||||||
"object count mismatch for page " + std::to_string(pageno) +
|
"object count mismatch for page " + std::to_string(pageno) +
|
||||||
": hint table = " + std::to_string(h_nobjects) +
|
": hint table = " + std::to_string(h_nobjects) +
|
||||||
"; computed = " + std::to_string(ce.nobjects));
|
"; computed = " + std::to_string(ce.nobjects));
|
||||||
|
@ -762,13 +743,13 @@ QPDF::checkHPageOffset(
|
||||||
|
|
||||||
// Use value for number of objects in hint table rather than
|
// Use value for number of objects in hint table rather than
|
||||||
// computed value if there is a discrepancy.
|
// 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(
|
int h_length = toI(
|
||||||
he.delta_page_length + this->m->page_offset_hints.min_page_length);
|
he.delta_page_length + this->m->page_offset_hints.min_page_length);
|
||||||
if (length != h_length) {
|
if (length != h_length) {
|
||||||
// This condition almost certainly indicates a bad hint
|
// This condition almost certainly indicates a bad hint
|
||||||
// table or a bug in this code.
|
// table or a bug in this code.
|
||||||
errors.push_back(
|
linearizationWarning(
|
||||||
"page length mismatch for page " + std::to_string(pageno) +
|
"page length mismatch for page " + std::to_string(pageno) +
|
||||||
": hint table = " + std::to_string(h_length) +
|
": hint table = " + std::to_string(h_length) +
|
||||||
"; computed length = " + std::to_string(length) +
|
"; computed length = " + std::to_string(length) +
|
||||||
|
@ -784,7 +765,7 @@ QPDF::checkHPageOffset(
|
||||||
if ((pageno == 0) && (he.nshared_objects > 0)) {
|
if ((pageno == 0) && (he.nshared_objects > 0)) {
|
||||||
// pdlin and Acrobat both do this even though the spec
|
// pdlin and Acrobat both do this even though the spec
|
||||||
// states clearly and unambiguously that they should not.
|
// 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) {
|
for (size_t i = 0; i < toS(he.nshared_objects); ++i) {
|
||||||
|
@ -808,7 +789,7 @@ QPDF::checkHPageOffset(
|
||||||
for (int iter: hint_shared) {
|
for (int iter: hint_shared) {
|
||||||
if (!computed_shared.count(iter)) {
|
if (!computed_shared.count(iter)) {
|
||||||
// pdlin puts thumbnails here even though it shouldn't
|
// pdlin puts thumbnails here even though it shouldn't
|
||||||
warnings.push_back(
|
linearizationWarning(
|
||||||
"page " + std::to_string(pageno) + ": shared object " +
|
"page " + std::to_string(pageno) + ": shared object " +
|
||||||
std::to_string(iter) +
|
std::to_string(iter) +
|
||||||
": in hint table but not computed list");
|
": in hint table but not computed list");
|
||||||
|
@ -820,10 +801,10 @@ QPDF::checkHPageOffset(
|
||||||
// Acrobat does not put some things including at least
|
// Acrobat does not put some things including at least
|
||||||
// built-in fonts and procsets here, at least in some
|
// built-in fonts and procsets here, at least in some
|
||||||
// cases.
|
// cases.
|
||||||
warnings.push_back(
|
linearizationWarning(
|
||||||
"page " + std::to_string(pageno) + ": shared object " +
|
("page " + std::to_string(pageno) + ": shared object " +
|
||||||
std::to_string(iter) +
|
std::to_string(iter) +
|
||||||
": in computed list but not hint table");
|
": in computed list but not hint table"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -831,10 +812,7 @@ QPDF::checkHPageOffset(
|
||||||
|
|
||||||
void
|
void
|
||||||
QPDF::checkHSharedObject(
|
QPDF::checkHSharedObject(
|
||||||
std::list<std::string>& errors,
|
std::vector<QPDFObjectHandle> const& pages, std::map<int, int>& idx_to_obj)
|
||||||
std::list<std::string>& warnings,
|
|
||||||
std::vector<QPDFObjectHandle> const& pages,
|
|
||||||
std::map<int, int>& idx_to_obj)
|
|
||||||
{
|
{
|
||||||
// Implementation note 125 says shared object groups always
|
// Implementation note 125 says shared object groups always
|
||||||
// contain only one object. Implementation note 128 says that
|
// contain only one object. Implementation note 128 says that
|
||||||
|
@ -856,7 +834,7 @@ QPDF::checkHSharedObject(
|
||||||
|
|
||||||
HSharedObject& so = this->m->shared_object_hints;
|
HSharedObject& so = this->m->shared_object_hints;
|
||||||
if (so.nshared_total < so.nshared_first_page) {
|
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 {
|
} else {
|
||||||
// The first nshared_first_page objects are consecutive
|
// The first nshared_first_page objects are consecutive
|
||||||
// objects starting with the first page object. The rest are
|
// objects starting with the first page object. The rest are
|
||||||
|
@ -866,12 +844,12 @@ QPDF::checkHSharedObject(
|
||||||
if (i == so.nshared_first_page) {
|
if (i == so.nshared_first_page) {
|
||||||
QTC::TC("qpdf", "QPDF lin check shared past first page");
|
QTC::TC("qpdf", "QPDF lin check shared past first page");
|
||||||
if (this->m->part8.empty()) {
|
if (this->m->part8.empty()) {
|
||||||
errors.push_back("part 8 is empty but nshared_total > "
|
linearizationWarning("part 8 is empty but nshared_total > "
|
||||||
"nshared_first_page");
|
"nshared_first_page");
|
||||||
} else {
|
} else {
|
||||||
int obj = this->m->part8.at(0).getObjectID();
|
int obj = this->m->part8.at(0).getObjectID();
|
||||||
if (obj != so.first_shared_obj) {
|
if (obj != so.first_shared_obj) {
|
||||||
errors.push_back(
|
linearizationWarning(
|
||||||
"first shared object number mismatch: "
|
"first shared object number mismatch: "
|
||||||
"hint table = " +
|
"hint table = " +
|
||||||
std::to_string(so.first_shared_obj) +
|
std::to_string(so.first_shared_obj) +
|
||||||
|
@ -889,7 +867,7 @@ QPDF::checkHSharedObject(
|
||||||
qpdf_offset_t h_offset =
|
qpdf_offset_t h_offset =
|
||||||
adjusted_offset(so.first_shared_offset);
|
adjusted_offset(so.first_shared_offset);
|
||||||
if (offset != h_offset) {
|
if (offset != h_offset) {
|
||||||
errors.push_back(
|
linearizationWarning(
|
||||||
"first shared object offset mismatch: hint table = " +
|
"first shared object offset mismatch: hint table = " +
|
||||||
std::to_string(h_offset) +
|
std::to_string(h_offset) +
|
||||||
"; computed = " + std::to_string(offset));
|
"; computed = " + std::to_string(offset));
|
||||||
|
@ -899,10 +877,10 @@ QPDF::checkHSharedObject(
|
||||||
idx_to_obj[i] = cur_object;
|
idx_to_obj[i] = cur_object;
|
||||||
HSharedObjectEntry& se = so.entries.at(toS(i));
|
HSharedObjectEntry& se = so.entries.at(toS(i));
|
||||||
int nobjects = se.nobjects_minus_one + 1;
|
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;
|
int h_length = so.min_group_length + se.delta_group_length;
|
||||||
if (length != h_length) {
|
if (length != h_length) {
|
||||||
errors.push_back(
|
linearizationWarning(
|
||||||
"shared object " + std::to_string(i) +
|
"shared object " + std::to_string(i) +
|
||||||
" length mismatch: hint table = " +
|
" length mismatch: hint table = " +
|
||||||
std::to_string(h_length) +
|
std::to_string(h_length) +
|
||||||
|
@ -914,7 +892,7 @@ QPDF::checkHSharedObject(
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
QPDF::checkHOutlines(std::list<std::string>& warnings)
|
QPDF::checkHOutlines()
|
||||||
{
|
{
|
||||||
// Empirically, Acrobat generates the correct value for the object
|
// Empirically, Acrobat generates the correct value for the object
|
||||||
// number but incorrectly stores the next object number's offset
|
// number but incorrectly stores the next object number's offset
|
||||||
|
@ -937,7 +915,7 @@ QPDF::checkHOutlines(std::list<std::string>& warnings)
|
||||||
// This case is not exercised in test suite since not
|
// This case is not exercised in test suite since not
|
||||||
// permitted by the spec, but if this does occur, the
|
// permitted by the spec, but if this does occur, the
|
||||||
// code below would fail.
|
// code below would fail.
|
||||||
warnings.push_back(
|
linearizationWarning(
|
||||||
"/Outlines key of root dictionary is not indirect");
|
"/Outlines key of root dictionary is not indirect");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -951,24 +929,24 @@ QPDF::checkHOutlines(std::list<std::string>& warnings)
|
||||||
qpdf_offset_t table_offset =
|
qpdf_offset_t table_offset =
|
||||||
adjusted_offset(this->m->outline_hints.first_object_offset);
|
adjusted_offset(this->m->outline_hints.first_object_offset);
|
||||||
if (offset != table_offset) {
|
if (offset != table_offset) {
|
||||||
warnings.push_back(
|
linearizationWarning(
|
||||||
"incorrect offset in outlines table: hint table = " +
|
"incorrect offset in outlines table: hint table = " +
|
||||||
std::to_string(table_offset) +
|
std::to_string(table_offset) +
|
||||||
"; computed = " + std::to_string(offset));
|
"; computed = " + std::to_string(offset));
|
||||||
}
|
}
|
||||||
int table_length = this->m->outline_hints.group_length;
|
int table_length = this->m->outline_hints.group_length;
|
||||||
if (length != table_length) {
|
if (length != table_length) {
|
||||||
warnings.push_back(
|
linearizationWarning(
|
||||||
"incorrect length in outlines table: hint table = " +
|
"incorrect length in outlines table: hint table = " +
|
||||||
std::to_string(table_length) +
|
std::to_string(table_length) +
|
||||||
"; computed = " + std::to_string(length));
|
"; computed = " + std::to_string(length));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
warnings.push_back("incorrect first object number in outline "
|
linearizationWarning("incorrect first object number in outline "
|
||||||
"hints table.");
|
"hints table.");
|
||||||
}
|
}
|
||||||
} else {
|
} 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();
|
checkLinearizationInternal();
|
||||||
dumpLinearizationDataInternal();
|
dumpLinearizationDataInternal();
|
||||||
} catch (QPDFExc& e) {
|
} catch (QPDFExc& e) {
|
||||||
*this->m->log->getError() << e.what() << "\n";
|
linearizationWarning(e.what());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,12 @@ For a detailed list of changes, please see the file
|
||||||
- New method ``QPDF::removeSecurityRestrictions`` removes security
|
- New method ``QPDF::removeSecurityRestrictions`` removes security
|
||||||
restrictions from digitally signed files.
|
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
|
- Performance enhancements
|
||||||
|
|
||||||
- Include more code tidying and performance improvements from M.
|
- Include more code tidying and performance improvements from M.
|
||||||
|
|
|
@ -45,14 +45,14 @@ my @to_linearize =
|
||||||
);
|
);
|
||||||
|
|
||||||
$n_tests += @linearized_files + 6;
|
$n_tests += @linearized_files + 6;
|
||||||
$n_tests += (3 * @to_linearize * 5) + 6;
|
$n_tests += (3 * @to_linearize * 5) + 7;
|
||||||
|
|
||||||
foreach my $base (@linearized_files)
|
foreach my $base (@linearized_files)
|
||||||
{
|
{
|
||||||
$td->runtest("dump linearization: $base",
|
$td->runtest("dump linearization: $base",
|
||||||
{$td->COMMAND => "qpdf --show-linearization $base.pdf"},
|
{$td->COMMAND => "qpdf --show-linearization $base.pdf"},
|
||||||
{$td->FILE => "$base.out",
|
{$td->FILE => "$base.out",
|
||||||
$td->EXIT_STATUS => 0},
|
$td->EXIT_STATUS => ($base eq 'lin0' ? 0 : 3)},
|
||||||
$td->NORMALIZE_NEWLINES);
|
$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();
|
cleanup();
|
||||||
$td->report($n_tests);
|
$td->report($n_tests);
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
WARNING: first page object (/O) mismatch
|
WARNING: badlin1.pdf: first page object (/O) mismatch
|
||||||
WARNING: space before first xref item (/T) mismatch (computed = 11777; file = 11771
|
WARNING: badlin1.pdf: 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: badlin1.pdf: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891
|
||||||
WARNING: page 0 has shared identifier entries
|
WARNING: badlin1.pdf: page 0 has shared identifier entries
|
||||||
WARNING: page 0: shared object 62: in hint table but not computed list
|
WARNING: badlin1.pdf: page 0: shared object 62: in hint table but not computed list
|
||||||
badlin1.pdf: linearization data:
|
badlin1.pdf: linearization data:
|
||||||
|
|
||||||
file_size: 13103
|
file_size: 13103
|
||||||
|
@ -378,3 +378,4 @@ first_object: 66
|
||||||
first_object_offset: 1827
|
first_object_offset: 1827
|
||||||
nobjects: 12
|
nobjects: 12
|
||||||
group_length: 2064
|
group_length: 2064
|
||||||
|
qpdf: operation succeeded with warnings
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
WARNING: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891
|
WARNING: lin1.pdf: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891
|
||||||
WARNING: page 0 has shared identifier entries
|
WARNING: lin1.pdf: page 0 has shared identifier entries
|
||||||
WARNING: page 0: shared object 62: in hint table but not computed list
|
WARNING: lin1.pdf: page 0: shared object 62: in hint table but not computed list
|
||||||
lin1.pdf: linearization data:
|
lin1.pdf: linearization data:
|
||||||
|
|
||||||
file_size: 13103
|
file_size: 13103
|
||||||
|
@ -376,3 +376,4 @@ first_object: 66
|
||||||
first_object_offset: 1827
|
first_object_offset: 1827
|
||||||
nobjects: 12
|
nobjects: 12
|
||||||
group_length: 2064
|
group_length: 2064
|
||||||
|
qpdf: operation succeeded with warnings
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
WARNING: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891
|
WARNING: lin2.pdf: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891
|
||||||
WARNING: page 0 has shared identifier entries
|
WARNING: lin2.pdf: page 0 has shared identifier entries
|
||||||
WARNING: page 0: shared object 62: in hint table but not computed list
|
WARNING: lin2.pdf: page 0: shared object 62: in hint table but not computed list
|
||||||
lin2.pdf: linearization data:
|
lin2.pdf: linearization data:
|
||||||
|
|
||||||
file_size: 13103
|
file_size: 13103
|
||||||
|
@ -376,3 +376,4 @@ first_object: 66
|
||||||
first_object_offset: 1827
|
first_object_offset: 1827
|
||||||
nobjects: 12
|
nobjects: 12
|
||||||
group_length: 2064
|
group_length: 2064
|
||||||
|
qpdf: operation succeeded with warnings
|
||||||
|
|
4
qpdf/qtest/qpdf/lin3-check-nowarn.out
Normal file
4
qpdf/qtest/qpdf/lin3-check-nowarn.out
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
checking lin3.pdf
|
||||||
|
PDF Version: 1.3
|
||||||
|
File is not encrypted
|
||||||
|
File is linearized
|
|
@ -1,64 +1,64 @@
|
||||||
WARNING: end of first page section (/E) mismatch: /E = 3978; computed = 3785..3786
|
WARNING: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: 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: lin3.pdf: page 29: shared object 109: in computed list but not hint table
|
||||||
WARNING: incorrect offset in outlines table: hint table = 1627; computed = 1547
|
WARNING: lin3.pdf: incorrect offset in outlines table: hint table = 1627; computed = 1547
|
||||||
WARNING: incorrect length in outlines table: hint table = 1988; computed = 1936
|
WARNING: lin3.pdf: incorrect length in outlines table: hint table = 1988; computed = 1936
|
||||||
lin3.pdf: linearization data:
|
lin3.pdf: linearization data:
|
||||||
|
|
||||||
file_size: 16937
|
file_size: 16937
|
||||||
|
@ -316,3 +316,4 @@ first_object: 94
|
||||||
first_object_offset: 1627
|
first_object_offset: 1627
|
||||||
nobjects: 12
|
nobjects: 12
|
||||||
group_length: 1988
|
group_length: 1988
|
||||||
|
qpdf: operation succeeded with warnings
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
WARNING: page 0 has shared identifier entries
|
WARNING: lin4.pdf: page 0 has shared identifier entries
|
||||||
WARNING: page 0: shared object 74: in hint table but not computed list
|
WARNING: lin4.pdf: page 0: shared object 74: in hint table but not computed list
|
||||||
lin4.pdf: linearization data:
|
lin4.pdf: linearization data:
|
||||||
|
|
||||||
file_size: 13055
|
file_size: 13055
|
||||||
|
@ -351,3 +351,4 @@ first_object: 60
|
||||||
first_object_offset: 9413
|
first_object_offset: 9413
|
||||||
nobjects: 12
|
nobjects: 12
|
||||||
group_length: 2064
|
group_length: 2064
|
||||||
|
qpdf: operation succeeded with warnings
|
||||||
|
|
|
@ -1,64 +1,64 @@
|
||||||
WARNING: end of first page section (/E) mismatch: /E = 4213; computed = 4004..4005
|
WARNING: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: 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: lin5.pdf: page 29: shared object 172: in computed list but not hint table
|
||||||
WARNING: incorrect offset in outlines table: hint table = 1710; computed = 1627
|
WARNING: lin5.pdf: incorrect offset in outlines table: hint table = 1710; computed = 1627
|
||||||
WARNING: incorrect length in outlines table: hint table = 2124; computed = 2075
|
WARNING: lin5.pdf: incorrect length in outlines table: hint table = 2124; computed = 2075
|
||||||
lin5.pdf: linearization data:
|
lin5.pdf: linearization data:
|
||||||
|
|
||||||
file_size: 27464
|
file_size: 27464
|
||||||
|
@ -316,3 +316,4 @@ first_object: 157
|
||||||
first_object_offset: 1710
|
first_object_offset: 1710
|
||||||
nobjects: 12
|
nobjects: 12
|
||||||
group_length: 2124
|
group_length: 2124
|
||||||
|
qpdf: operation succeeded with warnings
|
||||||
|
|
|
@ -1,94 +1,94 @@
|
||||||
WARNING: end of first page section (/E) mismatch: /E = 2897; computed = 5005..5007
|
WARNING: lin6.pdf: 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: lin6.pdf: object count mismatch for page 0: hint table = 19; computed = 16
|
||||||
WARNING: page 0 has shared identifier entries
|
WARNING: lin6.pdf: page 0 has shared identifier entries
|
||||||
WARNING: page 0: shared object 93: in hint table but not computed list
|
WARNING: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: lin6.pdf: 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: page 29: shared object 99: in hint table but not computed list
|
||||||
lin6.pdf: linearization data:
|
lin6.pdf: linearization data:
|
||||||
|
|
||||||
file_size: 24824
|
file_size: 24824
|
||||||
|
@ -590,3 +590,4 @@ first_object: 100
|
||||||
first_object_offset: 2897
|
first_object_offset: 2897
|
||||||
nobjects: 12
|
nobjects: 12
|
||||||
group_length: 2110
|
group_length: 2110
|
||||||
|
qpdf: operation succeeded with warnings
|
||||||
|
|
|
@ -1,62 +1,62 @@
|
||||||
WARNING: end of first page section (/E) mismatch: /E = 1865; computed = 1655..1656
|
WARNING: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: lin7.pdf: 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: page 29: shared object 172: in computed list but not hint table
|
||||||
lin7.pdf: linearization data:
|
lin7.pdf: linearization data:
|
||||||
|
|
||||||
file_size: 27408
|
file_size: 27408
|
||||||
|
@ -290,3 +290,4 @@ first_object: 88
|
||||||
first_object_offset: 12129
|
first_object_offset: 12129
|
||||||
nobjects: 12
|
nobjects: 12
|
||||||
group_length: 2030
|
group_length: 2030
|
||||||
|
qpdf: operation succeeded with warnings
|
||||||
|
|
|
@ -1,94 +1,94 @@
|
||||||
WARNING: end of first page section (/E) mismatch: /E = 2656; computed = 1768..1770
|
WARNING: lin8.pdf: 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: lin8.pdf: object count mismatch for page 0: hint table = 7; computed = 4
|
||||||
WARNING: page 0 has shared identifier entries
|
WARNING: lin8.pdf: page 0 has shared identifier entries
|
||||||
WARNING: page 0: shared object 105: in hint table but not computed list
|
WARNING: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: lin8.pdf: 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: page 29: shared object 111: in hint table but not computed list
|
||||||
lin8.pdf: linearization data:
|
lin8.pdf: linearization data:
|
||||||
|
|
||||||
file_size: 24875
|
file_size: 24875
|
||||||
|
@ -566,3 +566,4 @@ first_object: 89
|
||||||
first_object_offset: 20067
|
first_object_offset: 20067
|
||||||
nobjects: 12
|
nobjects: 12
|
||||||
group_length: 2069
|
group_length: 2069
|
||||||
|
qpdf: operation succeeded with warnings
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
WARNING: page 0 has shared identifier entries
|
WARNING: lin9.pdf: page 0 has shared identifier entries
|
||||||
WARNING: page 0: shared object 19: in hint table but not computed list
|
WARNING: lin9.pdf: page 0: shared object 19: in hint table but not computed list
|
||||||
lin9.pdf: linearization data:
|
lin9.pdf: linearization data:
|
||||||
|
|
||||||
file_size: 3316
|
file_size: 3316
|
||||||
|
@ -102,3 +102,4 @@ Shared Object 5:
|
||||||
group length: 67
|
group length: 67
|
||||||
Shared Object 6:
|
Shared Object 6:
|
||||||
group length: 117
|
group length: 117
|
||||||
|
qpdf: operation succeeded with warnings
|
||||||
|
|
|
@ -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 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): attempting to recover stream length
|
||||||
WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106
|
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
|
qpdf: operation succeeded with warnings
|
||||||
|
|
|
@ -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 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): attempting to recover stream length
|
||||||
WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106
|
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
|
qpdf: operation succeeded with warnings
|
||||||
|
|
|
@ -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 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): attempting to recover stream length
|
||||||
WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106
|
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
|
qpdf: operation succeeded with warnings
|
||||||
|
|
Loading…
Reference in New Issue
Block a user