Commit f45dacf4cbfab73ce470d0a61d4acee14206ab2b
1 parent
0a71750e
Make recovery logic flexible about where objects end (fixes #573)
Don't assume endobj is at the beginning of the line. This means we are looking at tokens for every line, but the odds of n n obj appearing in the middle of the object are likely much lower than endobj not being at the beginning of the line or missing entirely. This will probably have a negative impact on recovery time for very large files. Hopefully it will be worth it.
Showing
8 changed files
with
559 additions
and
39 deletions
ChangeLog
| 1 | +2021-11-07 Jay Berkenbilt <ejb@ql.org> | |
| 2 | + | |
| 3 | + * Relax xref recovery logic a bit so that files whose objects are | |
| 4 | + either missing endobj or have endobj at other than the beginning | |
| 5 | + of a line can still be recovered. Fixes #573. | |
| 6 | + | |
| 1 | 7 | 2021-11-04 Jay Berkenbilt <ejb@ql.org> |
| 2 | 8 | |
| 3 | 9 | * Add support for OpenSSL 3. Fixes #568. | ... | ... |
libqpdf/QPDF.cc
| ... | ... | @@ -590,7 +590,6 @@ QPDF::reconstruct_xref(QPDFExc& e) |
| 590 | 590 | this->m->file->seek(0, SEEK_END); |
| 591 | 591 | qpdf_offset_t eof = this->m->file->tell(); |
| 592 | 592 | this->m->file->seek(0, SEEK_SET); |
| 593 | - bool in_obj = false; | |
| 594 | 593 | qpdf_offset_t line_start = 0; |
| 595 | 594 | // Don't allow very long tokens here during recovery. |
| 596 | 595 | static size_t const MAX_LEN = 100; |
| ... | ... | @@ -604,46 +603,36 @@ QPDF::reconstruct_xref(QPDFExc& e) |
| 604 | 603 | this->m->file->tell() - toO(t1.getValue().length()); |
| 605 | 604 | if (token_start >= next_line_start) |
| 606 | 605 | { |
| 607 | - // don't process yet | |
| 606 | + // don't process yet -- wait until we get to the line | |
| 607 | + // containing this token | |
| 608 | 608 | } |
| 609 | - else if (in_obj) | |
| 610 | - { | |
| 611 | - if (t1 == QPDFTokenizer::Token(QPDFTokenizer::tt_word, "endobj")) | |
| 612 | - { | |
| 613 | - in_obj = false; | |
| 614 | - } | |
| 615 | - } | |
| 616 | - else | |
| 609 | + else if (t1.getType() == QPDFTokenizer::tt_integer) | |
| 617 | 610 | { |
| 618 | - if (t1.getType() == QPDFTokenizer::tt_integer) | |
| 611 | + QPDFTokenizer::Token t2 = | |
| 612 | + readToken(this->m->file, MAX_LEN); | |
| 613 | + QPDFTokenizer::Token t3 = | |
| 614 | + readToken(this->m->file, MAX_LEN); | |
| 615 | + if ((t2.getType() == QPDFTokenizer::tt_integer) && | |
| 616 | + (t3 == QPDFTokenizer::Token(QPDFTokenizer::tt_word, "obj"))) | |
| 619 | 617 | { |
| 620 | - QPDFTokenizer::Token t2 = | |
| 621 | - readToken(this->m->file, MAX_LEN); | |
| 622 | - QPDFTokenizer::Token t3 = | |
| 623 | - readToken(this->m->file, MAX_LEN); | |
| 624 | - if ((t2.getType() == QPDFTokenizer::tt_integer) && | |
| 625 | - (t3 == QPDFTokenizer::Token(QPDFTokenizer::tt_word, "obj"))) | |
| 626 | - { | |
| 627 | - in_obj = true; | |
| 628 | - int obj = QUtil::string_to_int(t1.getValue().c_str()); | |
| 629 | - int gen = QUtil::string_to_int(t2.getValue().c_str()); | |
| 630 | - insertXrefEntry(obj, 1, token_start, gen, true); | |
| 631 | - } | |
| 618 | + int obj = QUtil::string_to_int(t1.getValue().c_str()); | |
| 619 | + int gen = QUtil::string_to_int(t2.getValue().c_str()); | |
| 620 | + insertXrefEntry(obj, 1, token_start, gen, true); | |
| 632 | 621 | } |
| 633 | - else if ((! this->m->trailer.isInitialized()) && | |
| 634 | - (t1 == QPDFTokenizer::Token( | |
| 635 | - QPDFTokenizer::tt_word, "trailer"))) | |
| 636 | - { | |
| 637 | - QPDFObjectHandle t = | |
| 622 | + } | |
| 623 | + else if ((! this->m->trailer.isInitialized()) && | |
| 624 | + (t1 == QPDFTokenizer::Token( | |
| 625 | + QPDFTokenizer::tt_word, "trailer"))) | |
| 626 | + { | |
| 627 | + QPDFObjectHandle t = | |
| 638 | 628 | readObject(this->m->file, "trailer", 0, 0, false); |
| 639 | - if (! t.isDictionary()) | |
| 640 | - { | |
| 641 | - // Oh well. It was worth a try. | |
| 642 | - } | |
| 643 | - else | |
| 644 | - { | |
| 645 | - setTrailer(t); | |
| 646 | - } | |
| 629 | + if (! t.isDictionary()) | |
| 630 | + { | |
| 631 | + // Oh well. It was worth a try. | |
| 632 | + } | |
| 633 | + else | |
| 634 | + { | |
| 635 | + setTrailer(t); | |
| 647 | 636 | } |
| 648 | 637 | } |
| 649 | 638 | this->m->file->seek(next_line_start, SEEK_SET); | ... | ... |
qpdf/qtest/qpdf.test
| ... | ... | @@ -3193,7 +3193,7 @@ $td->runtest("integer type checks", |
| 3193 | 3193 | show_ntests(); |
| 3194 | 3194 | # ---------- |
| 3195 | 3195 | $td->notify("--- Recovery Tests ---"); |
| 3196 | -$n_tests += @badfiles + 9; | |
| 3196 | +$n_tests += @badfiles + 11; | |
| 3197 | 3197 | |
| 3198 | 3198 | # Recovery tests. These are mostly after-the-fact -- when recovery |
| 3199 | 3199 | # was implemented, some degree of recovery was possible on many of the |
| ... | ... | @@ -3268,11 +3268,20 @@ $td->runtest("xref loop with append", |
| 3268 | 3268 | {$td->FILE => "append-xref-loop.out", |
| 3269 | 3269 | $td->EXIT_STATUS => 3}, |
| 3270 | 3270 | $td->NORMALIZE_NEWLINES); |
| 3271 | - | |
| 3272 | 3271 | $td->runtest("check output", |
| 3273 | 3272 | {$td->FILE => "a.pdf"}, |
| 3274 | 3273 | {$td->FILE => "append-xref-loop-fixed.pdf"}); |
| 3275 | 3274 | |
| 3275 | +$td->runtest("endobj not at newline", | |
| 3276 | + {$td->COMMAND => | |
| 3277 | + "qpdf --deterministic-id endobj-at-eol.pdf a.pdf"}, | |
| 3278 | + {$td->FILE => "endobj-at-eol.out", | |
| 3279 | + $td->EXIT_STATUS => 3}, | |
| 3280 | + $td->NORMALIZE_NEWLINES); | |
| 3281 | +$td->runtest("check output", | |
| 3282 | + {$td->FILE => "a.pdf"}, | |
| 3283 | + {$td->FILE => "endobj-at-eol-fixed.pdf"}); | |
| 3284 | + | |
| 3276 | 3285 | show_ntests(); |
| 3277 | 3286 | # ---------- |
| 3278 | 3287 | $td->notify("--- Basic Parsing Tests ---"); | ... | ... |
qpdf/qtest/qpdf/endobj-at-eol-fixed.pdf
0 → 100644
No preview for this file type
qpdf/qtest/qpdf/endobj-at-eol.out
0 → 100644
qpdf/qtest/qpdf/endobj-at-eol.pdf
0 → 100644
No preview for this file type
qpdf/qtest/qpdf/issue-202.out
| ... | ... | @@ -2,4 +2,5 @@ WARNING: issue-202.pdf (trailer, offset 55770): ignoring excessively deeply nest |
| 2 | 2 | WARNING: issue-202.pdf: file is damaged |
| 3 | 3 | WARNING: issue-202.pdf (offset 54769): expected trailer dictionary |
| 4 | 4 | WARNING: issue-202.pdf: Attempting to reconstruct cross-reference table |
| 5 | +WARNING: issue-202.pdf (trailer, offset 55770): ignoring excessively deeply nested data structure | |
| 5 | 6 | issue-202.pdf: unable to find trailer dictionary while recovering damaged file | ... | ... |
qpdf/qtest/qpdf/issue-335a.out
| ... | ... | @@ -802,4 +802,515 @@ WARNING: issue-335a.pdf (trailer, offset 3589): unexpected ) |
| 802 | 802 | WARNING: issue-335a.pdf (trailer, offset 3602): unknown token while reading object; treating as string |
| 803 | 803 | WARNING: issue-335a.pdf (trailer, offset 3610): unknown token while reading object; treating as string |
| 804 | 804 | WARNING: issue-335a.pdf (trailer, offset 3610): too many errors; giving up on reading object |
| 805 | -issue-335a.pdf: unable to find trailer dictionary while recovering damaged file | |
| 805 | +WARNING: issue-335a.pdf (trailer, offset 16485): unknown token while reading object; treating as string | |
| 806 | +WARNING: issue-335a.pdf (trailer, offset 16528): unknown token while reading object; treating as string | |
| 807 | +WARNING: issue-335a.pdf (trailer, offset 16529): treating unexpected brace token as null | |
| 808 | +WARNING: issue-335a.pdf (trailer, offset 16530): unknown token while reading object; treating as string | |
| 809 | +WARNING: issue-335a.pdf (trailer, offset 16545): unexpected ) | |
| 810 | +WARNING: issue-335a.pdf (trailer, offset 16546): unknown token while reading object; treating as string | |
| 811 | +WARNING: issue-335a.pdf (trailer, offset 16546): too many errors; giving up on reading object | |
| 812 | +WARNING: issue-335a.pdf (trailer, offset 16498): unknown token while reading object; treating as string | |
| 813 | +WARNING: issue-335a.pdf (trailer, offset 16513): unexpected ) | |
| 814 | +WARNING: issue-335a.pdf (trailer, offset 16528): unknown token while reading object; treating as string | |
| 815 | +WARNING: issue-335a.pdf (trailer, offset 16529): treating unexpected brace token as null | |
| 816 | +WARNING: issue-335a.pdf (trailer, offset 16530): unknown token while reading object; treating as string | |
| 817 | +WARNING: issue-335a.pdf (trailer, offset 16545): unexpected ) | |
| 818 | +WARNING: issue-335a.pdf (trailer, offset 16545): too many errors; giving up on reading object | |
| 819 | +WARNING: issue-335a.pdf (trailer, offset 16511): unknown token while reading object; treating as string | |
| 820 | +WARNING: issue-335a.pdf (trailer, offset 16512): unexpected ) | |
| 821 | +WARNING: issue-335a.pdf (trailer, offset 16513): unexpected ) | |
| 822 | +WARNING: issue-335a.pdf (trailer, offset 16528): unknown token while reading object; treating as string | |
| 823 | +WARNING: issue-335a.pdf (trailer, offset 16529): treating unexpected brace token as null | |
| 824 | +WARNING: issue-335a.pdf (trailer, offset 16530): unknown token while reading object; treating as string | |
| 825 | +WARNING: issue-335a.pdf (trailer, offset 16530): too many errors; giving up on reading object | |
| 826 | +WARNING: issue-335a.pdf (trailer, offset 16526): unknown token while reading object; treating as string | |
| 827 | +WARNING: issue-335a.pdf (trailer, offset 16527): unexpected ) | |
| 828 | +WARNING: issue-335a.pdf (trailer, offset 16528): unknown token while reading object; treating as string | |
| 829 | +WARNING: issue-335a.pdf (trailer, offset 16529): treating unexpected brace token as null | |
| 830 | +WARNING: issue-335a.pdf (trailer, offset 16530): unknown token while reading object; treating as string | |
| 831 | +WARNING: issue-335a.pdf (trailer, offset 16545): unexpected ) | |
| 832 | +WARNING: issue-335a.pdf (trailer, offset 16545): too many errors; giving up on reading object | |
| 833 | +WARNING: issue-335a.pdf (trailer, offset 16543): unknown token while reading object; treating as string | |
| 834 | +WARNING: issue-335a.pdf (trailer, offset 16544): unexpected ) | |
| 835 | +WARNING: issue-335a.pdf (trailer, offset 16545): unexpected ) | |
| 836 | +WARNING: issue-335a.pdf (trailer, offset 16546): unknown token while reading object; treating as string | |
| 837 | +WARNING: issue-335a.pdf (trailer, offset 16547): treating unexpected brace token as null | |
| 838 | +WARNING: issue-335a.pdf (trailer, offset 16548): unknown token while reading object; treating as string | |
| 839 | +WARNING: issue-335a.pdf (trailer, offset 16548): too many errors; giving up on reading object | |
| 840 | +WARNING: issue-335a.pdf (trailer, offset 16561): unknown token while reading object; treating as string | |
| 841 | +WARNING: issue-335a.pdf (trailer, offset 16562): unexpected ) | |
| 842 | +WARNING: issue-335a.pdf (trailer, offset 16563): unexpected ) | |
| 843 | +WARNING: issue-335a.pdf (trailer, offset 16763): treating unexpected brace token as null | |
| 844 | +WARNING: issue-335a.pdf (trailer, offset 16764): unknown token while reading object; treating as string | |
| 845 | +WARNING: issue-335a.pdf (trailer, offset 16766): treating unexpected brace token as null | |
| 846 | +WARNING: issue-335a.pdf (trailer, offset 16766): too many errors; giving up on reading object | |
| 847 | +WARNING: issue-335a.pdf (trailer, offset 16575): unknown token while reading object; treating as string | |
| 848 | +WARNING: issue-335a.pdf (trailer, offset 16599): unknown token while reading object; treating as string | |
| 849 | +WARNING: issue-335a.pdf (trailer, offset 16613): unknown token while reading object; treating as string | |
| 850 | +WARNING: issue-335a.pdf (trailer, offset 16614): treating unexpected brace token as null | |
| 851 | +WARNING: issue-335a.pdf (trailer, offset 16615): unknown token while reading object; treating as string | |
| 852 | +WARNING: issue-335a.pdf (trailer, offset 16739): unexpected ) | |
| 853 | +WARNING: issue-335a.pdf (trailer, offset 16763): treating unexpected brace token as null | |
| 854 | +WARNING: issue-335a.pdf (trailer, offset 16763): too many errors; giving up on reading object | |
| 855 | +WARNING: issue-335a.pdf (trailer, offset 16674): unknown token while reading object; treating as string | |
| 856 | +WARNING: issue-335a.pdf (trailer, offset 16717): unknown token while reading object; treating as string | |
| 857 | +WARNING: issue-335a.pdf (trailer, offset 16718): treating unexpected brace token as null | |
| 858 | +WARNING: issue-335a.pdf (trailer, offset 16719): unknown token while reading object; treating as string | |
| 859 | +WARNING: issue-335a.pdf (trailer, offset 16734): unexpected ) | |
| 860 | +WARNING: issue-335a.pdf (trailer, offset 16739): unexpected ) | |
| 861 | +WARNING: issue-335a.pdf (trailer, offset 16739): too many errors; giving up on reading object | |
| 862 | +WARNING: issue-335a.pdf (trailer, offset 16687): unknown token while reading object; treating as string | |
| 863 | +WARNING: issue-335a.pdf (trailer, offset 16702): unexpected ) | |
| 864 | +WARNING: issue-335a.pdf (trailer, offset 16717): unknown token while reading object; treating as string | |
| 865 | +WARNING: issue-335a.pdf (trailer, offset 16718): treating unexpected brace token as null | |
| 866 | +WARNING: issue-335a.pdf (trailer, offset 16719): unknown token while reading object; treating as string | |
| 867 | +WARNING: issue-335a.pdf (trailer, offset 16734): unexpected ) | |
| 868 | +WARNING: issue-335a.pdf (trailer, offset 16734): too many errors; giving up on reading object | |
| 869 | +WARNING: issue-335a.pdf (trailer, offset 16700): unknown token while reading object; treating as string | |
| 870 | +WARNING: issue-335a.pdf (trailer, offset 16701): unexpected ) | |
| 871 | +WARNING: issue-335a.pdf (trailer, offset 16702): unexpected ) | |
| 872 | +WARNING: issue-335a.pdf (trailer, offset 16717): unknown token while reading object; treating as string | |
| 873 | +WARNING: issue-335a.pdf (trailer, offset 16718): treating unexpected brace token as null | |
| 874 | +WARNING: issue-335a.pdf (trailer, offset 16719): unknown token while reading object; treating as string | |
| 875 | +WARNING: issue-335a.pdf (trailer, offset 16719): too many errors; giving up on reading object | |
| 876 | +WARNING: issue-335a.pdf (trailer, offset 16715): unknown token while reading object; treating as string | |
| 877 | +WARNING: issue-335a.pdf (trailer, offset 16716): unexpected ) | |
| 878 | +WARNING: issue-335a.pdf (trailer, offset 16717): unknown token while reading object; treating as string | |
| 879 | +WARNING: issue-335a.pdf (trailer, offset 16718): treating unexpected brace token as null | |
| 880 | +WARNING: issue-335a.pdf (trailer, offset 16719): unknown token while reading object; treating as string | |
| 881 | +WARNING: issue-335a.pdf (trailer, offset 16734): unexpected ) | |
| 882 | +WARNING: issue-335a.pdf (trailer, offset 16734): too many errors; giving up on reading object | |
| 883 | +WARNING: issue-335a.pdf (trailer, offset 16732): unknown token while reading object; treating as string | |
| 884 | +WARNING: issue-335a.pdf (trailer, offset 16733): unexpected ) | |
| 885 | +WARNING: issue-335a.pdf (trailer, offset 16734): unexpected ) | |
| 886 | +WARNING: issue-335a.pdf (trailer, offset 16739): unexpected ) | |
| 887 | +WARNING: issue-335a.pdf (trailer, offset 16763): treating unexpected brace token as null | |
| 888 | +WARNING: issue-335a.pdf (trailer, offset 16764): unknown token while reading object; treating as string | |
| 889 | +WARNING: issue-335a.pdf (trailer, offset 16764): too many errors; giving up on reading object | |
| 890 | +WARNING: issue-335a.pdf (trailer, offset 16752): unknown token while reading object; treating as string | |
| 891 | +WARNING: issue-335a.pdf (trailer, offset 16761): unknown token while reading object; treating as string | |
| 892 | +WARNING: issue-335a.pdf (trailer, offset 16762): unexpected ) | |
| 893 | +WARNING: issue-335a.pdf (trailer, offset 16763): treating unexpected brace token as null | |
| 894 | +WARNING: issue-335a.pdf (trailer, offset 16764): unknown token while reading object; treating as string | |
| 895 | +WARNING: issue-335a.pdf (trailer, offset 16766): treating unexpected brace token as null | |
| 896 | +WARNING: issue-335a.pdf (trailer, offset 16766): too many errors; giving up on reading object | |
| 897 | +WARNING: issue-335a.pdf (trailer, offset 16779): unknown token while reading object; treating as string | |
| 898 | +WARNING: issue-335a.pdf (trailer, offset 16782): unknown token while reading object; treating as string | |
| 899 | +WARNING: issue-335a.pdf (trailer, offset 16793): unknown token while reading object; treating as string | |
| 900 | +WARNING: issue-335a.pdf (trailer, offset 19808): unknown token while reading object; treating as string | |
| 901 | +WARNING: issue-335a.pdf (trailer, offset 19810): unknown token while reading object; treating as string | |
| 902 | +WARNING: issue-335a.pdf (trailer, offset 19872): name with stray # will not work with PDF >= 1.2 | |
| 903 | +WARNING: issue-335a.pdf (trailer, offset 19875): unexpected ) | |
| 904 | +WARNING: issue-335a.pdf (trailer, offset 19875): too many errors; giving up on reading object | |
| 905 | +WARNING: issue-335a.pdf (trailer, offset 16793): unknown token while reading object; treating as string | |
| 906 | +WARNING: issue-335a.pdf (trailer, offset 19808): unknown token while reading object; treating as string | |
| 907 | +WARNING: issue-335a.pdf (trailer, offset 19810): unknown token while reading object; treating as string | |
| 908 | +WARNING: issue-335a.pdf (trailer, offset 19872): name with stray # will not work with PDF >= 1.2 | |
| 909 | +WARNING: issue-335a.pdf (trailer, offset 19875): unexpected ) | |
| 910 | +WARNING: issue-335a.pdf (trailer, offset 19876): unexpected ) | |
| 911 | +WARNING: issue-335a.pdf (trailer, offset 19956): unknown token while reading object; treating as string | |
| 912 | +WARNING: issue-335a.pdf (trailer, offset 19956): too many errors; giving up on reading object | |
| 913 | +WARNING: issue-335a.pdf (trailer, offset 16806): unknown token while reading object; treating as string | |
| 914 | +WARNING: issue-335a.pdf (trailer, offset 16821): unexpected ) | |
| 915 | +WARNING: issue-335a.pdf (trailer, offset 19808): unknown token while reading object; treating as string | |
| 916 | +WARNING: issue-335a.pdf (trailer, offset 19810): unknown token while reading object; treating as string | |
| 917 | +WARNING: issue-335a.pdf (trailer, offset 19872): name with stray # will not work with PDF >= 1.2 | |
| 918 | +WARNING: issue-335a.pdf (trailer, offset 19875): unexpected ) | |
| 919 | +WARNING: issue-335a.pdf (trailer, offset 19876): unexpected ) | |
| 920 | +WARNING: issue-335a.pdf (trailer, offset 19876): too many errors; giving up on reading object | |
| 921 | +WARNING: issue-335a.pdf (trailer, offset 16819): unknown token while reading object; treating as string | |
| 922 | +WARNING: issue-335a.pdf (trailer, offset 16820): unexpected ) | |
| 923 | +WARNING: issue-335a.pdf (trailer, offset 16821): unexpected ) | |
| 924 | +WARNING: issue-335a.pdf (trailer, offset 19808): unknown token while reading object; treating as string | |
| 925 | +WARNING: issue-335a.pdf (trailer, offset 19810): unknown token while reading object; treating as string | |
| 926 | +WARNING: issue-335a.pdf (trailer, offset 19872): name with stray # will not work with PDF >= 1.2 | |
| 927 | +WARNING: issue-335a.pdf (trailer, offset 19875): unexpected ) | |
| 928 | +WARNING: issue-335a.pdf (trailer, offset 19875): too many errors; giving up on reading object | |
| 929 | +WARNING: issue-335a.pdf (trailer, offset 19837): treating unexpected brace token as null | |
| 930 | +WARNING: issue-335a.pdf (trailer, offset 19838): unexpected ) | |
| 931 | +WARNING: issue-335a.pdf (trailer, offset 19871): unexpected ) | |
| 932 | +WARNING: issue-335a.pdf (trailer, offset 19872): name with stray # will not work with PDF >= 1.2 | |
| 933 | +WARNING: issue-335a.pdf (trailer, offset 19875): unexpected ) | |
| 934 | +WARNING: issue-335a.pdf (trailer, offset 19876): unexpected ) | |
| 935 | +WARNING: issue-335a.pdf (trailer, offset 19956): unknown token while reading object; treating as string | |
| 936 | +WARNING: issue-335a.pdf (trailer, offset 19956): too many errors; giving up on reading object | |
| 937 | +WARNING: issue-335a.pdf (trailer, offset 19852): unknown token while reading object; treating as string | |
| 938 | +WARNING: issue-335a.pdf (trailer, offset 19869): unknown token while reading object; treating as string | |
| 939 | +WARNING: issue-335a.pdf (trailer, offset 19870): unexpected ) | |
| 940 | +WARNING: issue-335a.pdf (trailer, offset 19871): unexpected ) | |
| 941 | +WARNING: issue-335a.pdf (trailer, offset 19872): name with stray # will not work with PDF >= 1.2 | |
| 942 | +WARNING: issue-335a.pdf (trailer, offset 19875): unexpected ) | |
| 943 | +WARNING: issue-335a.pdf (trailer, offset 19876): unexpected ) | |
| 944 | +WARNING: issue-335a.pdf (trailer, offset 19876): too many errors; giving up on reading object | |
| 945 | +WARNING: issue-335a.pdf (trailer, offset 19867): treating unexpected brace token as null | |
| 946 | +WARNING: issue-335a.pdf (trailer, offset 19868): unexpected ) | |
| 947 | +WARNING: issue-335a.pdf (trailer, offset 19869): unknown token while reading object; treating as string | |
| 948 | +WARNING: issue-335a.pdf (trailer, offset 19870): unexpected ) | |
| 949 | +WARNING: issue-335a.pdf (trailer, offset 19871): unexpected ) | |
| 950 | +WARNING: issue-335a.pdf (trailer, offset 19872): name with stray # will not work with PDF >= 1.2 | |
| 951 | +WARNING: issue-335a.pdf (trailer, offset 19875): unexpected ) | |
| 952 | +WARNING: issue-335a.pdf (trailer, offset 19875): too many errors; giving up on reading object | |
| 953 | +WARNING: issue-335a.pdf (trailer, offset 19890): unknown token while reading object; treating as string | |
| 954 | +WARNING: issue-335a.pdf (trailer, offset 19906): unexpected ) | |
| 955 | +WARNING: issue-335a.pdf (trailer, offset 19956): unknown token while reading object; treating as string | |
| 956 | +WARNING: issue-335a.pdf (trailer, offset 19959): unknown token while reading object; treating as string | |
| 957 | +WARNING: issue-335a.pdf (trailer, offset 19968): invalid character (t) in hexstring | |
| 958 | +WARNING: issue-335a.pdf (trailer, offset 19971): unknown token while reading object; treating as string | |
| 959 | +WARNING: issue-335a.pdf (trailer, offset 19971): too many errors; giving up on reading object | |
| 960 | +WARNING: issue-335a.pdf (trailer, offset 19904): treating unexpected brace token as null | |
| 961 | +WARNING: issue-335a.pdf (trailer, offset 19905): unexpected ) | |
| 962 | +WARNING: issue-335a.pdf (trailer, offset 19906): unexpected ) | |
| 963 | +WARNING: issue-335a.pdf (trailer, offset 19956): unknown token while reading object; treating as string | |
| 964 | +WARNING: issue-335a.pdf (trailer, offset 19959): unknown token while reading object; treating as string | |
| 965 | +WARNING: issue-335a.pdf (trailer, offset 19968): invalid character (t) in hexstring | |
| 966 | +WARNING: issue-335a.pdf (trailer, offset 19968): too many errors; giving up on reading object | |
| 967 | +WARNING: issue-335a.pdf (trailer, offset 19920): unknown token while reading object; treating as string | |
| 968 | +WARNING: issue-335a.pdf (trailer, offset 19954): unexpected ) | |
| 969 | +WARNING: issue-335a.pdf (trailer, offset 19956): unknown token while reading object; treating as string | |
| 970 | +WARNING: issue-335a.pdf (trailer, offset 19959): unknown token while reading object; treating as string | |
| 971 | +WARNING: issue-335a.pdf (trailer, offset 19968): invalid character (t) in hexstring | |
| 972 | +WARNING: issue-335a.pdf (trailer, offset 19971): unknown token while reading object; treating as string | |
| 973 | +WARNING: issue-335a.pdf (trailer, offset 19971): too many errors; giving up on reading object | |
| 974 | +WARNING: issue-335a.pdf (trailer, offset 19968): invalid character (t) in hexstring | |
| 975 | +WARNING: issue-335a.pdf (trailer, offset 19971): unknown token while reading object; treating as string | |
| 976 | +WARNING: issue-335a.pdf (trailer, offset 20092): unknown token while reading object; treating as string | |
| 977 | +WARNING: issue-335a.pdf (trailer, offset 20103): unknown token while reading object; treating as string | |
| 978 | +WARNING: issue-335a.pdf (trailer, offset 20110): unknown token while reading object; treating as string | |
| 979 | +WARNING: issue-335a.pdf (trailer, offset 20114): unknown token while reading object; treating as string | |
| 980 | +WARNING: issue-335a.pdf (trailer, offset 20114): too many errors; giving up on reading object | |
| 981 | +WARNING: issue-335a.pdf (trailer, offset 20164): unexpected > | |
| 982 | +WARNING: issue-335a.pdf (trailer, offset 20170): unknown token while reading object; treating as string | |
| 983 | +WARNING: issue-335a.pdf (trailer, offset 20173): unknown token while reading object; treating as string | |
| 984 | +WARNING: issue-335a.pdf (trailer, offset 20186): unknown token while reading object; treating as string | |
| 985 | +WARNING: issue-335a.pdf (trailer, offset 20189): unknown token while reading object; treating as string | |
| 986 | +WARNING: issue-335a.pdf (trailer, offset 20219): unknown token while reading object; treating as string | |
| 987 | +WARNING: issue-335a.pdf (trailer, offset 20219): too many errors; giving up on reading object | |
| 988 | +WARNING: issue-335a.pdf (trailer, offset 20230): unknown token while reading object; treating as string | |
| 989 | +WARNING: issue-335a.pdf (trailer, offset 20232): unexpected ) | |
| 990 | +WARNING: issue-335a.pdf (trailer, offset 20233): unexpected ) | |
| 991 | +WARNING: issue-335a.pdf (trailer, offset 20234): unknown token while reading object; treating as string | |
| 992 | +WARNING: issue-335a.pdf (trailer, offset 20236): invalid character ({) in hexstring | |
| 993 | +WARNING: issue-335a.pdf (trailer, offset 20238): treating unexpected brace token as null | |
| 994 | +WARNING: issue-335a.pdf (trailer, offset 20238): too many errors; giving up on reading object | |
| 995 | +WARNING: issue-335a.pdf (trailer, offset 20424): unknown token while reading object; treating as string | |
| 996 | +WARNING: issue-335a.pdf (trailer, offset 20431): unknown token while reading object; treating as string | |
| 997 | +WARNING: issue-335a.pdf (trailer, offset 20446): unknown token while reading object; treating as string | |
| 998 | +WARNING: issue-335a.pdf (trailer, offset 20601): unexpected ) | |
| 999 | +WARNING: issue-335a.pdf (trailer, offset 20602): unknown token while reading object; treating as string | |
| 1000 | +WARNING: issue-335a.pdf (trailer, offset 20604): invalid character ({) in hexstring | |
| 1001 | +WARNING: issue-335a.pdf (trailer, offset 20604): too many errors; giving up on reading object | |
| 1002 | +WARNING: issue-335a.pdf (trailer, offset 20446): unknown token while reading object; treating as string | |
| 1003 | +WARNING: issue-335a.pdf (trailer, offset 20601): unexpected ) | |
| 1004 | +WARNING: issue-335a.pdf (trailer, offset 20602): unknown token while reading object; treating as string | |
| 1005 | +WARNING: issue-335a.pdf (trailer, offset 20604): invalid character ({) in hexstring | |
| 1006 | +WARNING: issue-335a.pdf (trailer, offset 20606): treating unexpected brace token as null | |
| 1007 | +WARNING: issue-335a.pdf (trailer, offset 20607): treating unexpected brace token as null | |
| 1008 | +WARNING: issue-335a.pdf (trailer, offset 20607): too many errors; giving up on reading object | |
| 1009 | +WARNING: issue-335a.pdf (trailer, offset 20598): unknown token while reading object; treating as string | |
| 1010 | +WARNING: issue-335a.pdf (trailer, offset 20600): unexpected ) | |
| 1011 | +WARNING: issue-335a.pdf (trailer, offset 20601): unexpected ) | |
| 1012 | +WARNING: issue-335a.pdf (trailer, offset 20602): unknown token while reading object; treating as string | |
| 1013 | +WARNING: issue-335a.pdf (trailer, offset 20604): invalid character ({) in hexstring | |
| 1014 | +WARNING: issue-335a.pdf (trailer, offset 20606): treating unexpected brace token as null | |
| 1015 | +WARNING: issue-335a.pdf (trailer, offset 20606): too many errors; giving up on reading object | |
| 1016 | +WARNING: issue-335a.pdf (trailer, offset 20684): unknown token while reading object; treating as string | |
| 1017 | +WARNING: issue-335a.pdf (trailer, offset 20683): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1018 | +WARNING: issue-335a.pdf (trailer, offset 20748): stream keyword followed by extraneous whitespace | |
| 1019 | +WARNING: issue-335a.pdf (trailer, offset 20679): stream dictionary lacks /Length key | |
| 1020 | +WARNING: issue-335a.pdf (trailer, offset 20749): attempting to recover stream length | |
| 1021 | +WARNING: issue-335a.pdf (trailer, offset 20749): unable to recover stream data; treating stream as empty | |
| 1022 | +WARNING: issue-335a.pdf (trailer, offset 20756): /Length key in stream dictionary is not an integer | |
| 1023 | +WARNING: issue-335a.pdf (trailer, offset 20787): attempting to recover stream length | |
| 1024 | +WARNING: issue-335a.pdf (trailer, offset 20787): unable to recover stream data; treating stream as empty | |
| 1025 | +WARNING: issue-335a.pdf (trailer, offset 20812): unknown token while reading object; treating as string | |
| 1026 | +WARNING: issue-335a.pdf (trailer, offset 20803): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1027 | +WARNING: issue-335a.pdf (trailer, offset 20803): dictionary has duplicated key /Length; last occurrence overrides earlier ones | |
| 1028 | +WARNING: issue-335a.pdf (trailer, offset 20843): stream keyword followed by extraneous whitespace | |
| 1029 | +WARNING: issue-335a.pdf (trailer, offset 20800): /Length key in stream dictionary is not an integer | |
| 1030 | +WARNING: issue-335a.pdf (trailer, offset 20844): attempting to recover stream length | |
| 1031 | +WARNING: issue-335a.pdf (trailer, offset 20844): unable to recover stream data; treating stream as empty | |
| 1032 | +WARNING: issue-335a.pdf (trailer, offset 20851): /Length key in stream dictionary is not an integer | |
| 1033 | +WARNING: issue-335a.pdf (trailer, offset 20882): attempting to recover stream length | |
| 1034 | +WARNING: issue-335a.pdf (trailer, offset 20882): unable to recover stream data; treating stream as empty | |
| 1035 | +WARNING: issue-335a.pdf (trailer, offset 20914): unknown token while reading object; treating as string | |
| 1036 | +WARNING: issue-335a.pdf (trailer, offset 20898): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1037 | +WARNING: issue-335a.pdf (trailer, offset 20895): /Length key in stream dictionary is not an integer | |
| 1038 | +WARNING: issue-335a.pdf (trailer, offset 20929): attempting to recover stream length | |
| 1039 | +WARNING: issue-335a.pdf (trailer, offset 20929): unable to recover stream data; treating stream as empty | |
| 1040 | +WARNING: issue-335a.pdf (trailer, offset 20949): unexpected > | |
| 1041 | +WARNING: issue-335a.pdf (trailer, offset 20957): unexpected > | |
| 1042 | +WARNING: issue-335a.pdf (trailer, offset 20958): unknown token while reading object; treating as string | |
| 1043 | +WARNING: issue-335a.pdf (trailer, offset 20960): unexpected > | |
| 1044 | +WARNING: issue-335a.pdf (trailer, offset 20961): unknown token while reading object; treating as string | |
| 1045 | +WARNING: issue-335a.pdf (trailer, offset 20972): treating unexpected brace token as null | |
| 1046 | +WARNING: issue-335a.pdf (trailer, offset 20973): unexpected ) | |
| 1047 | +WARNING: issue-335a.pdf (trailer, offset 20973): too many errors; giving up on reading object | |
| 1048 | +WARNING: issue-335a.pdf (trailer, offset 21042): unknown token while reading object; treating as string | |
| 1049 | +WARNING: issue-335a.pdf (trailer, offset 21026): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1050 | +WARNING: issue-335a.pdf (trailer, offset 21023): /Length key in stream dictionary is not an integer | |
| 1051 | +WARNING: issue-335a.pdf (trailer, offset 21057): attempting to recover stream length | |
| 1052 | +WARNING: issue-335a.pdf (trailer, offset 21057): unable to recover stream data; treating stream as empty | |
| 1053 | +WARNING: issue-335a.pdf (trailer, offset 21077): unexpected > | |
| 1054 | +WARNING: issue-335a.pdf (trailer, offset 21085): unexpected > | |
| 1055 | +WARNING: issue-335a.pdf (trailer, offset 21086): unknown token while reading object; treating as string | |
| 1056 | +WARNING: issue-335a.pdf (trailer, offset 21088): unexpected > | |
| 1057 | +WARNING: issue-335a.pdf (trailer, offset 21089): unknown token while reading object; treating as string | |
| 1058 | +WARNING: issue-335a.pdf (trailer, offset 21100): treating unexpected brace token as null | |
| 1059 | +WARNING: issue-335a.pdf (trailer, offset 21101): unexpected ) | |
| 1060 | +WARNING: issue-335a.pdf (trailer, offset 21101): too many errors; giving up on reading object | |
| 1061 | +WARNING: issue-335a.pdf (trailer, offset 21118): unknown token while reading object; treating as string | |
| 1062 | +WARNING: issue-335a.pdf (trailer, offset 21158): unexpected ) | |
| 1063 | +WARNING: issue-335a.pdf (trailer, offset 21202): unknown token while reading object; treating as string | |
| 1064 | +WARNING: issue-335a.pdf (trailer, offset 21205): treating unexpected brace token as null | |
| 1065 | +WARNING: issue-335a.pdf (trailer, offset 21207): unknown token while reading object; treating as string | |
| 1066 | +WARNING: issue-335a.pdf (trailer, offset 21212): unknown token while reading object; treating as string | |
| 1067 | +WARNING: issue-335a.pdf (trailer, offset 21212): too many errors; giving up on reading object | |
| 1068 | +WARNING: issue-335a.pdf (trailer, offset 21132): unknown token while reading object; treating as string | |
| 1069 | +WARNING: issue-335a.pdf (trailer, offset 21138): unknown token while reading object; treating as string | |
| 1070 | +WARNING: issue-335a.pdf (trailer, offset 21156): unknown token while reading object; treating as string | |
| 1071 | +WARNING: issue-335a.pdf (trailer, offset 21157): unexpected ) | |
| 1072 | +WARNING: issue-335a.pdf (trailer, offset 21158): unexpected ) | |
| 1073 | +WARNING: issue-335a.pdf (trailer, offset 21202): unknown token while reading object; treating as string | |
| 1074 | +WARNING: issue-335a.pdf (trailer, offset 21202): too many errors; giving up on reading object | |
| 1075 | +WARNING: issue-335a.pdf (trailer, offset 21154): treating unexpected brace token as null | |
| 1076 | +WARNING: issue-335a.pdf (trailer, offset 21155): unexpected ) | |
| 1077 | +WARNING: issue-335a.pdf (trailer, offset 21156): unknown token while reading object; treating as string | |
| 1078 | +WARNING: issue-335a.pdf (trailer, offset 21157): unexpected ) | |
| 1079 | +WARNING: issue-335a.pdf (trailer, offset 21158): unexpected ) | |
| 1080 | +WARNING: issue-335a.pdf (trailer, offset 21202): unknown token while reading object; treating as string | |
| 1081 | +WARNING: issue-335a.pdf (trailer, offset 21202): too many errors; giving up on reading object | |
| 1082 | +WARNING: issue-335a.pdf (trailer, offset 21172): unknown token while reading object; treating as string | |
| 1083 | +WARNING: issue-335a.pdf (trailer, offset 21199): unknown token while reading object; treating as string | |
| 1084 | +WARNING: issue-335a.pdf (trailer, offset 21201): unexpected ) | |
| 1085 | +WARNING: issue-335a.pdf (trailer, offset 21202): unknown token while reading object; treating as string | |
| 1086 | +WARNING: issue-335a.pdf (trailer, offset 21205): treating unexpected brace token as null | |
| 1087 | +WARNING: issue-335a.pdf (trailer, offset 21207): unknown token while reading object; treating as string | |
| 1088 | +WARNING: issue-335a.pdf (trailer, offset 21207): too many errors; giving up on reading object | |
| 1089 | +WARNING: issue-335a.pdf (trailer, offset 21228): treating unexpected brace token as null | |
| 1090 | +WARNING: issue-335a.pdf (trailer, offset 21229): unexpected ) | |
| 1091 | +WARNING: issue-335a.pdf (trailer, offset 21230): unknown token while reading object; treating as string | |
| 1092 | +WARNING: issue-335a.pdf (trailer, offset 21262): unknown token while reading object; treating as string | |
| 1093 | +WARNING: issue-335a.pdf (trailer, offset 21267): unknown token while reading object; treating as string | |
| 1094 | +WARNING: issue-335a.pdf (trailer, offset 21277): unknown token while reading object; treating as string | |
| 1095 | +WARNING: issue-335a.pdf (trailer, offset 21277): too many errors; giving up on reading object | |
| 1096 | +WARNING: issue-335a.pdf (trailer, offset 21277): unknown token while reading object; treating as string | |
| 1097 | +WARNING: issue-335a.pdf (trailer, offset 21287): unknown token while reading object; treating as string | |
| 1098 | +WARNING: issue-335a.pdf (trailer, offset 21389): unexpected dictionary close token | |
| 1099 | +WARNING: issue-335a.pdf (trailer, offset 21392): unknown token while reading object; treating as string | |
| 1100 | +WARNING: issue-335a.pdf (trailer, offset 21400): unknown token while reading object; treating as string | |
| 1101 | +WARNING: issue-335a.pdf (trailer, offset 21430): unknown token while reading object; treating as string | |
| 1102 | +WARNING: issue-335a.pdf (trailer, offset 21438): unknown token while reading object; treating as string | |
| 1103 | +WARNING: issue-335a.pdf (trailer, offset 21441): unknown token while reading object; treating as string | |
| 1104 | +WARNING: issue-335a.pdf (trailer, offset 21444): unknown token while reading object; treating as string | |
| 1105 | +WARNING: issue-335a.pdf (trailer, offset 21452): invalid character (-) in hexstring | |
| 1106 | +WARNING: issue-335a.pdf (trailer, offset 21819): unknown token while reading object; treating as string | |
| 1107 | +WARNING: issue-335a.pdf (trailer, offset 21819): too many errors; giving up on reading object | |
| 1108 | +WARNING: issue-335a.pdf (trailer, offset 21287): unknown token while reading object; treating as string | |
| 1109 | +WARNING: issue-335a.pdf (trailer, offset 21389): unexpected dictionary close token | |
| 1110 | +WARNING: issue-335a.pdf (trailer, offset 21392): unknown token while reading object; treating as string | |
| 1111 | +WARNING: issue-335a.pdf (trailer, offset 21400): unknown token while reading object; treating as string | |
| 1112 | +WARNING: issue-335a.pdf (trailer, offset 21430): unknown token while reading object; treating as string | |
| 1113 | +WARNING: issue-335a.pdf (trailer, offset 21438): unknown token while reading object; treating as string | |
| 1114 | +WARNING: issue-335a.pdf (trailer, offset 21441): unknown token while reading object; treating as string | |
| 1115 | +WARNING: issue-335a.pdf (trailer, offset 21444): unknown token while reading object; treating as string | |
| 1116 | +WARNING: issue-335a.pdf (trailer, offset 21452): invalid character (-) in hexstring | |
| 1117 | +WARNING: issue-335a.pdf (trailer, offset 21819): unknown token while reading object; treating as string | |
| 1118 | +WARNING: issue-335a.pdf (trailer, offset 21819): too many errors; giving up on reading object | |
| 1119 | +WARNING: issue-335a.pdf (trailer, offset 21407): /Length key in stream dictionary is not an integer | |
| 1120 | +WARNING: issue-335a.pdf (trailer, offset 21438): attempting to recover stream length | |
| 1121 | +WARNING: issue-335a.pdf (trailer, offset 21438): unable to recover stream data; treating stream as empty | |
| 1122 | +WARNING: issue-335a.pdf (trailer, offset 21452): invalid character (-) in hexstring | |
| 1123 | +WARNING: issue-335a.pdf (trailer, offset 21837): unknown token while reading object; treating as string | |
| 1124 | +WARNING: issue-335a.pdf (trailer, offset 21850): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1125 | +WARNING: issue-335a.pdf (trailer, offset 21892): unknown token while reading object; treating as string | |
| 1126 | +WARNING: issue-335a.pdf (trailer, offset 21900): unknown token while reading object; treating as string | |
| 1127 | +WARNING: issue-335a.pdf (trailer, offset 21903): unknown token while reading object; treating as string | |
| 1128 | +WARNING: issue-335a.pdf (trailer, offset 21906): unknown token while reading object; treating as string | |
| 1129 | +WARNING: issue-335a.pdf (trailer, offset 21918): unknown token while reading object; treating as string | |
| 1130 | +WARNING: issue-335a.pdf (trailer, offset 21925): unknown token while reading object; treating as string | |
| 1131 | +WARNING: issue-335a.pdf (trailer, offset 21925): too many errors; giving up on reading object | |
| 1132 | +WARNING: issue-335a.pdf (trailer, offset 21918): unknown token while reading object; treating as string | |
| 1133 | +WARNING: issue-335a.pdf (trailer, offset 21925): unknown token while reading object; treating as string | |
| 1134 | +WARNING: issue-335a.pdf (trailer, offset 21937): unknown token while reading object; treating as string | |
| 1135 | +WARNING: issue-335a.pdf (trailer, offset 21962): unknown token while reading object; treating as string | |
| 1136 | +WARNING: issue-335a.pdf (trailer, offset 21991): unknown token while reading object; treating as string | |
| 1137 | +WARNING: issue-335a.pdf (trailer, offset 22000): invalid character (t) in hexstring | |
| 1138 | +WARNING: issue-335a.pdf (trailer, offset 22003): unknown token while reading object; treating as string | |
| 1139 | +WARNING: issue-335a.pdf (trailer, offset 22028): unexpected > | |
| 1140 | +WARNING: issue-335a.pdf (trailer, offset 22030): unknown token while reading object; treating as string | |
| 1141 | +WARNING: issue-335a.pdf (trailer, offset 22038): unknown token while reading object; treating as string | |
| 1142 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1143 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake2 | |
| 1144 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake3 | |
| 1145 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake4 | |
| 1146 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake5 | |
| 1147 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake6 | |
| 1148 | +WARNING: issue-335a.pdf (trailer, offset 21936): dictionary has duplicated key /Length; last occurrence overrides earlier ones | |
| 1149 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake7 | |
| 1150 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake8 | |
| 1151 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake9 | |
| 1152 | +WARNING: issue-335a.pdf (trailer, offset 22044): unknown token while reading object; treating as string | |
| 1153 | +WARNING: issue-335a.pdf (trailer, offset 22052): unknown token while reading object; treating as string | |
| 1154 | +WARNING: issue-335a.pdf (trailer, offset 22064): unknown token while reading object; treating as string | |
| 1155 | +WARNING: issue-335a.pdf (trailer, offset 22064): too many errors; giving up on reading object | |
| 1156 | +WARNING: issue-335a.pdf (trailer, offset 21937): unknown token while reading object; treating as string | |
| 1157 | +WARNING: issue-335a.pdf (trailer, offset 21962): unknown token while reading object; treating as string | |
| 1158 | +WARNING: issue-335a.pdf (trailer, offset 21991): unknown token while reading object; treating as string | |
| 1159 | +WARNING: issue-335a.pdf (trailer, offset 22000): invalid character (t) in hexstring | |
| 1160 | +WARNING: issue-335a.pdf (trailer, offset 22003): unknown token while reading object; treating as string | |
| 1161 | +WARNING: issue-335a.pdf (trailer, offset 22028): unexpected > | |
| 1162 | +WARNING: issue-335a.pdf (trailer, offset 22030): unknown token while reading object; treating as string | |
| 1163 | +WARNING: issue-335a.pdf (trailer, offset 22038): unknown token while reading object; treating as string | |
| 1164 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1165 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake2 | |
| 1166 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake3 | |
| 1167 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake4 | |
| 1168 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake5 | |
| 1169 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake6 | |
| 1170 | +WARNING: issue-335a.pdf (trailer, offset 21936): dictionary has duplicated key /Length; last occurrence overrides earlier ones | |
| 1171 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake7 | |
| 1172 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake8 | |
| 1173 | +WARNING: issue-335a.pdf (trailer, offset 21936): expected dictionary key but found non-name object; inserting key /QPDFFake9 | |
| 1174 | +WARNING: issue-335a.pdf (trailer, offset 21932): /Length key in stream dictionary is not an integer | |
| 1175 | +WARNING: issue-335a.pdf (trailer, offset 22052): attempting to recover stream length | |
| 1176 | +WARNING: issue-335a.pdf (trailer, offset 22052): unable to recover stream data; treating stream as empty | |
| 1177 | +WARNING: issue-335a.pdf (trailer, offset 22000): invalid character (t) in hexstring | |
| 1178 | +WARNING: issue-335a.pdf (trailer, offset 22088): unknown token while reading object; treating as string | |
| 1179 | +WARNING: issue-335a.pdf (trailer, offset 22087): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1180 | +WARNING: issue-335a.pdf (trailer, offset 22083): /Length key in stream dictionary is not an integer | |
| 1181 | +WARNING: issue-335a.pdf (trailer, offset 22136): attempting to recover stream length | |
| 1182 | +WARNING: issue-335a.pdf (trailer, offset 22136): unable to recover stream data; treating stream as empty | |
| 1183 | +WARNING: issue-335a.pdf (trailer, offset 22178): unknown token while reading object; treating as string | |
| 1184 | +WARNING: issue-335a.pdf (trailer, offset 22190): unknown token while reading object; treating as string | |
| 1185 | +WARNING: issue-335a.pdf (trailer, offset 22202): unknown token while reading object; treating as string | |
| 1186 | +WARNING: issue-335a.pdf (trailer, offset 22218): unknown token while reading object; treating as string | |
| 1187 | +WARNING: issue-335a.pdf (trailer, offset 22201): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1188 | +WARNING: issue-335a.pdf (trailer, offset 22201): expected dictionary key but found non-name object; inserting key /QPDFFake2 | |
| 1189 | +WARNING: issue-335a.pdf (trailer, offset 22230): unknown token while reading object; treating as string | |
| 1190 | +WARNING: issue-335a.pdf (trailer, offset 22238): unknown token while reading object; treating as string | |
| 1191 | +WARNING: issue-335a.pdf (trailer, offset 22177): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1192 | +WARNING: issue-335a.pdf (trailer, offset 22177): expected dictionary key but found non-name object; inserting key /QPDFFake2 | |
| 1193 | +WARNING: issue-335a.pdf (trailer, offset 22177): expected dictionary key but found non-name object; inserting key /QPDFFake3 | |
| 1194 | +WARNING: issue-335a.pdf (trailer, offset 22177): expected dictionary key but found non-name object; inserting key /QPDFFake4 | |
| 1195 | +WARNING: issue-335a.pdf (trailer, offset 22177): expected dictionary key but found non-name object; inserting key /QPDFFake5 | |
| 1196 | +WARNING: issue-335a.pdf (trailer, offset 22276): stream keyword followed by carriage return only | |
| 1197 | +WARNING: issue-335a.pdf (trailer, offset 22173): /Length key in stream dictionary is not an integer | |
| 1198 | +WARNING: issue-335a.pdf (trailer, offset 22276): attempting to recover stream length | |
| 1199 | +WARNING: issue-335a.pdf (trailer, offset 22276): unable to recover stream data; treating stream as empty | |
| 1200 | +WARNING: issue-335a.pdf (trailer, offset 22202): unknown token while reading object; treating as string | |
| 1201 | +WARNING: issue-335a.pdf (trailer, offset 22218): unknown token while reading object; treating as string | |
| 1202 | +WARNING: issue-335a.pdf (trailer, offset 22201): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1203 | +WARNING: issue-335a.pdf (trailer, offset 22201): expected dictionary key but found non-name object; inserting key /QPDFFake2 | |
| 1204 | +WARNING: issue-335a.pdf (trailer, offset 22197): stream dictionary lacks /Length key | |
| 1205 | +WARNING: issue-335a.pdf (trailer, offset 22238): attempting to recover stream length | |
| 1206 | +WARNING: issue-335a.pdf (trailer, offset 22238): unable to recover stream data; treating stream as empty | |
| 1207 | +WARNING: issue-335a.pdf (trailer, offset 22327): unknown token while reading object; treating as string | |
| 1208 | +WARNING: issue-335a.pdf (trailer, offset 22336): unknown token while reading object; treating as string | |
| 1209 | +WARNING: issue-335a.pdf (trailer, offset 22338): unknown token while reading object; treating as string | |
| 1210 | +WARNING: issue-335a.pdf (trailer, offset 22355): unknown token while reading object; treating as string | |
| 1211 | +WARNING: issue-335a.pdf (trailer, offset 22360): unknown token while reading object; treating as string | |
| 1212 | +WARNING: issue-335a.pdf (trailer, offset 22326): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1213 | +WARNING: issue-335a.pdf (trailer, offset 22326): expected dictionary key but found non-name object; inserting key /QPDFFake2 | |
| 1214 | +WARNING: issue-335a.pdf (trailer, offset 22326): expected dictionary key but found non-name object; inserting key /QPDFFake3 | |
| 1215 | +WARNING: issue-335a.pdf (trailer, offset 22326): expected dictionary key but found non-name object; inserting key /QPDFFake4 | |
| 1216 | +WARNING: issue-335a.pdf (trailer, offset 22326): expected dictionary key but found non-name object; inserting key /QPDFFake5 | |
| 1217 | +WARNING: issue-335a.pdf (trailer, offset 22322): /Length key in stream dictionary is not an integer | |
| 1218 | +WARNING: issue-335a.pdf (trailer, offset 22373): attempting to recover stream length | |
| 1219 | +WARNING: issue-335a.pdf (trailer, offset 22373): unable to recover stream data; treating stream as empty | |
| 1220 | +WARNING: issue-335a.pdf (trailer, offset 22437): unknown token while reading object; treating as string | |
| 1221 | +WARNING: issue-335a.pdf (trailer, offset 22436): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1222 | +WARNING: issue-335a.pdf (trailer, offset 22432): /Length key in stream dictionary is not an integer | |
| 1223 | +WARNING: issue-335a.pdf (trailer, offset 22484): attempting to recover stream length | |
| 1224 | +WARNING: issue-335a.pdf (trailer, offset 22484): unable to recover stream data; treating stream as empty | |
| 1225 | +WARNING: issue-335a.pdf (trailer, offset 22650): unknown token while reading object; treating as string | |
| 1226 | +WARNING: issue-335a.pdf (trailer, offset 22656): unknown token while reading object; treating as string | |
| 1227 | +WARNING: issue-335a.pdf (trailer, offset 22675): unknown token while reading object; treating as string | |
| 1228 | +WARNING: issue-335a.pdf (trailer, offset 22687): unknown token while reading object; treating as string | |
| 1229 | +WARNING: issue-335a.pdf (trailer, offset 22690): unknown token while reading object; treating as string | |
| 1230 | +WARNING: issue-335a.pdf (trailer, offset 22702): unknown token while reading object; treating as string | |
| 1231 | +WARNING: issue-335a.pdf (trailer, offset 22701): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1232 | +WARNING: issue-335a.pdf (trailer, offset 22740): unknown token while reading object; treating as string | |
| 1233 | +WARNING: issue-335a.pdf (trailer, offset 22748): unknown token while reading object; treating as string | |
| 1234 | +WARNING: issue-335a.pdf (trailer, offset 22761): unknown token while reading object; treating as string | |
| 1235 | +WARNING: issue-335a.pdf (trailer, offset 22791): unknown token while reading object; treating as string | |
| 1236 | +WARNING: issue-335a.pdf (trailer, offset 22794): unexpected > | |
| 1237 | +WARNING: issue-335a.pdf (trailer, offset 22796): unknown token while reading object; treating as string | |
| 1238 | +WARNING: issue-335a.pdf (trailer, offset 22804): unknown token while reading object; treating as string | |
| 1239 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1240 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake2 | |
| 1241 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake3 | |
| 1242 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake4 | |
| 1243 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake5 | |
| 1244 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake6 | |
| 1245 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake7 | |
| 1246 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake8 | |
| 1247 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake9 | |
| 1248 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake10 | |
| 1249 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake11 | |
| 1250 | +WARNING: issue-335a.pdf (trailer, offset 22810): unknown token while reading object; treating as string | |
| 1251 | +WARNING: issue-335a.pdf (trailer, offset 22817): unknown token while reading object; treating as string | |
| 1252 | +WARNING: issue-335a.pdf (trailer, offset 22817): too many errors; giving up on reading object | |
| 1253 | +WARNING: issue-335a.pdf (trailer, offset 22687): unknown token while reading object; treating as string | |
| 1254 | +WARNING: issue-335a.pdf (trailer, offset 22690): unknown token while reading object; treating as string | |
| 1255 | +WARNING: issue-335a.pdf (trailer, offset 22702): unknown token while reading object; treating as string | |
| 1256 | +WARNING: issue-335a.pdf (trailer, offset 22701): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1257 | +WARNING: issue-335a.pdf (trailer, offset 22740): unknown token while reading object; treating as string | |
| 1258 | +WARNING: issue-335a.pdf (trailer, offset 22748): unknown token while reading object; treating as string | |
| 1259 | +WARNING: issue-335a.pdf (trailer, offset 22761): unknown token while reading object; treating as string | |
| 1260 | +WARNING: issue-335a.pdf (trailer, offset 22791): unknown token while reading object; treating as string | |
| 1261 | +WARNING: issue-335a.pdf (trailer, offset 22794): unexpected > | |
| 1262 | +WARNING: issue-335a.pdf (trailer, offset 22796): unknown token while reading object; treating as string | |
| 1263 | +WARNING: issue-335a.pdf (trailer, offset 22804): unknown token while reading object; treating as string | |
| 1264 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1265 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake2 | |
| 1266 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake3 | |
| 1267 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake4 | |
| 1268 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake5 | |
| 1269 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake6 | |
| 1270 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake7 | |
| 1271 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake8 | |
| 1272 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake9 | |
| 1273 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake10 | |
| 1274 | +WARNING: issue-335a.pdf (trailer, offset 22686): expected dictionary key but found non-name object; inserting key /QPDFFake11 | |
| 1275 | +WARNING: issue-335a.pdf (trailer, offset 22817): stream keyword followed by carriage return only | |
| 1276 | +WARNING: issue-335a.pdf (trailer, offset 22682): stream dictionary lacks /Length key | |
| 1277 | +WARNING: issue-335a.pdf (trailer, offset 22817): attempting to recover stream length | |
| 1278 | +WARNING: issue-335a.pdf (trailer, offset 22817): unable to recover stream data; treating stream as empty | |
| 1279 | +WARNING: issue-335a.pdf (trailer, offset 22702): unknown token while reading object; treating as string | |
| 1280 | +WARNING: issue-335a.pdf (trailer, offset 22701): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1281 | +WARNING: issue-335a.pdf (trailer, offset 22697): /Length key in stream dictionary is not an integer | |
| 1282 | +WARNING: issue-335a.pdf (trailer, offset 22748): attempting to recover stream length | |
| 1283 | +WARNING: issue-335a.pdf (trailer, offset 22748): unable to recover stream data; treating stream as empty | |
| 1284 | +WARNING: issue-335a.pdf (trailer, offset 22845): unknown token while reading object; treating as string | |
| 1285 | +WARNING: issue-335a.pdf (trailer, offset 22869): unknown token while reading object; treating as string | |
| 1286 | +WARNING: issue-335a.pdf (trailer, offset 22844): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1287 | +WARNING: issue-335a.pdf (trailer, offset 22844): expected dictionary key but found non-name object; inserting key /QPDFFake2 | |
| 1288 | +WARNING: issue-335a.pdf (trailer, offset 22844): expected dictionary key but found non-name object; inserting key /QPDFFake3 | |
| 1289 | +WARNING: issue-335a.pdf (trailer, offset 22898): expected endstream | |
| 1290 | +WARNING: issue-335a.pdf (trailer, offset 22882): attempting to recover stream length | |
| 1291 | +WARNING: issue-335a.pdf (trailer, offset 22882): unable to recover stream data; treating stream as empty | |
| 1292 | +WARNING: issue-335a.pdf (trailer, offset 23098): invalid character (t) in hexstring | |
| 1293 | +WARNING: issue-335a.pdf (trailer, offset 23101): unknown token while reading object; treating as string | |
| 1294 | +WARNING: issue-335a.pdf (trailer, offset 23108): unknown token while reading object; treating as string | |
| 1295 | +WARNING: issue-335a.pdf (trailer, offset 23130): unknown token while reading object; treating as string | |
| 1296 | +WARNING: issue-335a.pdf (trailer, offset 23147): unknown token while reading object; treating as string | |
| 1297 | +WARNING: issue-335a.pdf (trailer, offset 23155): unknown token while reading object; treating as string | |
| 1298 | +WARNING: issue-335a.pdf (trailer, offset 23155): too many errors; giving up on reading object | |
| 1299 | +WARNING: issue-335a.pdf (trailer, offset 23108): unknown token while reading object; treating as string | |
| 1300 | +WARNING: issue-335a.pdf (trailer, offset 23130): unknown token while reading object; treating as string | |
| 1301 | +WARNING: issue-335a.pdf (trailer, offset 23147): unknown token while reading object; treating as string | |
| 1302 | +WARNING: issue-335a.pdf (trailer, offset 23155): unknown token while reading object; treating as string | |
| 1303 | +WARNING: issue-335a.pdf (trailer, offset 23196): unknown token while reading object; treating as string | |
| 1304 | +WARNING: issue-335a.pdf (trailer, offset 23324): unknown token while reading object; treating as string | |
| 1305 | +WARNING: issue-335a.pdf (trailer, offset 23324): too many errors; giving up on reading object | |
| 1306 | +WARNING: issue-335a.pdf (trailer, offset 23411): dictionary ended prematurely; using null as value for last key | |
| 1307 | +WARNING: issue-335a.pdf (object 5 0, offset 23451): invalid character (ÿ) in hexstring | |
| 1308 | +WARNING: issue-335a.pdf (object 5 0, offset 23458): unknown token while reading object; treating as string | |
| 1309 | +WARNING: issue-335a.pdf (object 5 0, offset 23444): expected dictionary key but found non-name object; inserting key /QPDFFake1 | |
| 1310 | +WARNING: issue-335a.pdf (object 5 0, offset 23444): expected dictionary key but found non-name object; inserting key /QPDFFake2 | |
| 1311 | +WARNING: issue-335a.pdf (object 5 0, offset 23440): /Length key in stream dictionary is not an integer | |
| 1312 | +WARNING: issue-335a.pdf (object 5 0, offset 23485): attempting to recover stream length | |
| 1313 | +WARNING: issue-335a.pdf (object 5 0, offset 23485): unable to recover stream data; treating stream as empty | |
| 1314 | +WARNING: issue-335a.pdf (object 5 0, offset 24974): expected endobj | |
| 1315 | +WARNING: issue-335a.pdf (object 5 0, offset 24974): EOF after endobj | |
| 1316 | +issue-335a.pdf (offset 24974): unable to find /Root dictionary | ... | ... |