Commit e50d5201dfce53158ba811865e99654054f0c872
1 parent
011695df
Add --keep-files-open-threshold (fixes #288)
Showing
6 changed files
with
57 additions
and
327 deletions
ChangeLog
| 1 | 1 | 2019-04-20 Jay Berkenbilt <ejb@ql.org> |
| 2 | 2 | |
| 3 | + * Add parameter --keep-files-open-threshold to override the | |
| 4 | + maximum number of files that qpdf will allow to be kept open at | |
| 5 | + once. Fixes #288. | |
| 6 | + | |
| 3 | 7 | * Handle Unicode characters in filenames. The changes to support |
| 4 | 8 | Unicode on the CLI in Windows broke Unicode filenames. Fixes #298. |
| 5 | 9 | ... | ... |
manual/qpdf-manual.xml
| ... | ... | @@ -652,6 +652,19 @@ make |
| 652 | 652 | more than the OS limit's number of files from a script and are |
| 653 | 653 | not worried about a few seconds additional processing time, |
| 654 | 654 | you may want to specify <option>--keep-files-open=n</option>. |
| 655 | + The threshold for switching may be changed from the default | |
| 656 | + 200 with the <option>--keep-files-open-threshold</option> | |
| 657 | + option. | |
| 658 | + </para> | |
| 659 | + </listitem> | |
| 660 | + </varlistentry> | |
| 661 | + <varlistentry> | |
| 662 | + <term><option>--keep-files-open-threshold=<replaceable>count</replaceable></option></term> | |
| 663 | + <listitem> | |
| 664 | + <para> | |
| 665 | + If specified, overrides the default value of 200 used as the | |
| 666 | + threshold for qpdf deciding whether or not to keep files open. | |
| 667 | + See <option>--keep-files-open</option> for details. | |
| 655 | 668 | </para> |
| 656 | 669 | </listitem> |
| 657 | 670 | </varlistentry> | ... | ... |
qpdf/qpdf.cc
| ... | ... | @@ -134,6 +134,7 @@ struct Options |
| 134 | 134 | preserve_unreferenced_page_resources(false), |
| 135 | 135 | keep_files_open(true), |
| 136 | 136 | keep_files_open_set(false), |
| 137 | + keep_files_open_threshold(200), // default known in help and docs | |
| 137 | 138 | newline_before_endstream(false), |
| 138 | 139 | coalesce_contents(false), |
| 139 | 140 | flatten_annotations(false), |
| ... | ... | @@ -225,6 +226,7 @@ struct Options |
| 225 | 226 | bool preserve_unreferenced_page_resources; |
| 226 | 227 | bool keep_files_open; |
| 227 | 228 | bool keep_files_open_set; |
| 229 | + size_t keep_files_open_threshold; | |
| 228 | 230 | bool newline_before_endstream; |
| 229 | 231 | std::string linearize_pass1; |
| 230 | 232 | bool coalesce_contents; |
| ... | ... | @@ -634,6 +636,7 @@ class ArgParser |
| 634 | 636 | void argPreserveUnreferenced(); |
| 635 | 637 | void argPreserveUnreferencedResources(); |
| 636 | 638 | void argKeepFilesOpen(char* parameter); |
| 639 | + void argKeepFilesOpenThreshold(char* parameter); | |
| 637 | 640 | void argNewlineBeforeEndstream(); |
| 638 | 641 | void argLinearizePass1(char* parameter); |
| 639 | 642 | void argCoalesceContents(); |
| ... | ... | @@ -857,6 +860,8 @@ ArgParser::initOptionTable() |
| 857 | 860 | &ArgParser::argPreserveUnreferencedResources); |
| 858 | 861 | (*t)["keep-files-open"] = oe_requiredChoices( |
| 859 | 862 | &ArgParser::argKeepFilesOpen, yn); |
| 863 | + (*t)["keep-files-open-threshold"] = oe_requiredParameter( | |
| 864 | + &ArgParser::argKeepFilesOpenThreshold, "count"); | |
| 860 | 865 | (*t)["newline-before-endstream"] = oe_bare( |
| 861 | 866 | &ArgParser::argNewlineBeforeEndstream); |
| 862 | 867 | (*t)["linearize-pass1"] = oe_requiredParameter( |
| ... | ... | @@ -1209,6 +1214,7 @@ ArgParser::argHelp() |
| 1209 | 1214 | << "starting point, but its pages are replaced with pages as specified.\n" |
| 1210 | 1215 | << "\n" |
| 1211 | 1216 | << "--keep-files-open=[yn]\n" |
| 1217 | + << "--keep-files-threshold=count\n" | |
| 1212 | 1218 | << "--pages file [ --password=password ] [ page-range ] ... --\n" |
| 1213 | 1219 | << "\n" |
| 1214 | 1220 | << "For each file that pages should be taken from, specify the file, a\n" |
| ... | ... | @@ -1227,7 +1233,8 @@ ArgParser::argHelp() |
| 1227 | 1233 | << "files will be kept open at the same time. This behavior can be overridden\n" |
| 1228 | 1234 | << "by specifying --keep-files-open=[yn]. Closing and opening files can have\n" |
| 1229 | 1235 | << "very high overhead on certain file systems, especially networked file\n" |
| 1230 | - << "systems.\n" | |
| 1236 | + << "systems. The threshold of 200 can be modified with\n" | |
| 1237 | + << "--keep-files-open-threshold\n" | |
| 1231 | 1238 | << "\n" |
| 1232 | 1239 | << "The page range is a set of numbers separated by commas, ranges of\n" |
| 1233 | 1240 | << "numbers separated dashes, or combinations of those. The character\n" |
| ... | ... | @@ -1782,6 +1789,13 @@ ArgParser::argKeepFilesOpen(char* parameter) |
| 1782 | 1789 | } |
| 1783 | 1790 | |
| 1784 | 1791 | void |
| 1792 | +ArgParser::argKeepFilesOpenThreshold(char* parameter) | |
| 1793 | +{ | |
| 1794 | + o.keep_files_open_threshold = | |
| 1795 | + static_cast<size_t>(QUtil::string_to_int(parameter)); | |
| 1796 | +} | |
| 1797 | + | |
| 1798 | +void | |
| 1785 | 1799 | ArgParser::argNewlineBeforeEndstream() |
| 1786 | 1800 | { |
| 1787 | 1801 | o.newline_before_endstream = true; |
| ... | ... | @@ -4352,9 +4366,7 @@ static void handle_page_specs(QPDF& pdf, Options& o) |
| 4352 | 4366 | PageSpec& page_spec = *iter; |
| 4353 | 4367 | filenames.insert(page_spec.filename); |
| 4354 | 4368 | } |
| 4355 | - // NOTE: The number 200 for this threshold is in the help | |
| 4356 | - // message and manual and is baked into the test suite. | |
| 4357 | - if (filenames.size() > 200) | |
| 4369 | + if (filenames.size() > o.keep_files_open_threshold) | |
| 4358 | 4370 | { |
| 4359 | 4371 | QTC::TC("qpdf", "qpdf disable keep files open"); |
| 4360 | 4372 | if (o.verbose) | ... | ... |
qpdf/qtest/qpdf.test
| ... | ... | @@ -1685,7 +1685,7 @@ $n_tests += 4; |
| 1685 | 1685 | binmode F; |
| 1686 | 1686 | my $content = <F>; |
| 1687 | 1687 | close(F); |
| 1688 | - for (my $i = 1; $i <= 201; ++$i) | |
| 1688 | + for (my $i = 1; $i <= 51; ++$i) | |
| 1689 | 1689 | { |
| 1690 | 1690 | open(F, sprintf(">%03d-kfo.pdf", $i)) or die; |
| 1691 | 1691 | binmode F; |
| ... | ... | @@ -1693,16 +1693,17 @@ $n_tests += 4; |
| 1693 | 1693 | close(F); |
| 1694 | 1694 | } |
| 1695 | 1695 | } |
| 1696 | -$td->runtest("disable keep files open", | |
| 1696 | +$td->runtest("automatic disable keep files open", | |
| 1697 | 1697 | {$td->COMMAND => |
| 1698 | 1698 | "qpdf --verbose --static-id --empty" . |
| 1699 | + " --keep-files-open-threshold=50" . | |
| 1699 | 1700 | " --pages *kfo.pdf -- a.pdf"}, |
| 1700 | 1701 | {$td->FILE => "disable-kfo.out", $td->EXIT_STATUS => 0}, |
| 1701 | 1702 | $td->NORMALIZE_NEWLINES); |
| 1702 | 1703 | $td->runtest("don't disable keep files open", |
| 1703 | 1704 | {$td->COMMAND => |
| 1704 | 1705 | "qpdf --verbose --static-id --empty" . |
| 1705 | - " --pages 11*kfo.pdf -- a.pdf"}, | |
| 1706 | + " --pages 01*kfo.pdf -- a.pdf"}, | |
| 1706 | 1707 | {$td->FILE => "enable-kfo.out", $td->EXIT_STATUS => 0}, |
| 1707 | 1708 | $td->NORMALIZE_NEWLINES); |
| 1708 | 1709 | $td->runtest("explict keep files open", | ... | ... |
qpdf/qtest/qpdf/disable-kfo.out
| ... | ... | @@ -50,156 +50,6 @@ qpdf: processing 048-kfo.pdf |
| 50 | 50 | qpdf: processing 049-kfo.pdf |
| 51 | 51 | qpdf: processing 050-kfo.pdf |
| 52 | 52 | qpdf: processing 051-kfo.pdf |
| 53 | -qpdf: processing 052-kfo.pdf | |
| 54 | -qpdf: processing 053-kfo.pdf | |
| 55 | -qpdf: processing 054-kfo.pdf | |
| 56 | -qpdf: processing 055-kfo.pdf | |
| 57 | -qpdf: processing 056-kfo.pdf | |
| 58 | -qpdf: processing 057-kfo.pdf | |
| 59 | -qpdf: processing 058-kfo.pdf | |
| 60 | -qpdf: processing 059-kfo.pdf | |
| 61 | -qpdf: processing 060-kfo.pdf | |
| 62 | -qpdf: processing 061-kfo.pdf | |
| 63 | -qpdf: processing 062-kfo.pdf | |
| 64 | -qpdf: processing 063-kfo.pdf | |
| 65 | -qpdf: processing 064-kfo.pdf | |
| 66 | -qpdf: processing 065-kfo.pdf | |
| 67 | -qpdf: processing 066-kfo.pdf | |
| 68 | -qpdf: processing 067-kfo.pdf | |
| 69 | -qpdf: processing 068-kfo.pdf | |
| 70 | -qpdf: processing 069-kfo.pdf | |
| 71 | -qpdf: processing 070-kfo.pdf | |
| 72 | -qpdf: processing 071-kfo.pdf | |
| 73 | -qpdf: processing 072-kfo.pdf | |
| 74 | -qpdf: processing 073-kfo.pdf | |
| 75 | -qpdf: processing 074-kfo.pdf | |
| 76 | -qpdf: processing 075-kfo.pdf | |
| 77 | -qpdf: processing 076-kfo.pdf | |
| 78 | -qpdf: processing 077-kfo.pdf | |
| 79 | -qpdf: processing 078-kfo.pdf | |
| 80 | -qpdf: processing 079-kfo.pdf | |
| 81 | -qpdf: processing 080-kfo.pdf | |
| 82 | -qpdf: processing 081-kfo.pdf | |
| 83 | -qpdf: processing 082-kfo.pdf | |
| 84 | -qpdf: processing 083-kfo.pdf | |
| 85 | -qpdf: processing 084-kfo.pdf | |
| 86 | -qpdf: processing 085-kfo.pdf | |
| 87 | -qpdf: processing 086-kfo.pdf | |
| 88 | -qpdf: processing 087-kfo.pdf | |
| 89 | -qpdf: processing 088-kfo.pdf | |
| 90 | -qpdf: processing 089-kfo.pdf | |
| 91 | -qpdf: processing 090-kfo.pdf | |
| 92 | -qpdf: processing 091-kfo.pdf | |
| 93 | -qpdf: processing 092-kfo.pdf | |
| 94 | -qpdf: processing 093-kfo.pdf | |
| 95 | -qpdf: processing 094-kfo.pdf | |
| 96 | -qpdf: processing 095-kfo.pdf | |
| 97 | -qpdf: processing 096-kfo.pdf | |
| 98 | -qpdf: processing 097-kfo.pdf | |
| 99 | -qpdf: processing 098-kfo.pdf | |
| 100 | -qpdf: processing 099-kfo.pdf | |
| 101 | -qpdf: processing 100-kfo.pdf | |
| 102 | -qpdf: processing 101-kfo.pdf | |
| 103 | -qpdf: processing 102-kfo.pdf | |
| 104 | -qpdf: processing 103-kfo.pdf | |
| 105 | -qpdf: processing 104-kfo.pdf | |
| 106 | -qpdf: processing 105-kfo.pdf | |
| 107 | -qpdf: processing 106-kfo.pdf | |
| 108 | -qpdf: processing 107-kfo.pdf | |
| 109 | -qpdf: processing 108-kfo.pdf | |
| 110 | -qpdf: processing 109-kfo.pdf | |
| 111 | -qpdf: processing 110-kfo.pdf | |
| 112 | -qpdf: processing 111-kfo.pdf | |
| 113 | -qpdf: processing 112-kfo.pdf | |
| 114 | -qpdf: processing 113-kfo.pdf | |
| 115 | -qpdf: processing 114-kfo.pdf | |
| 116 | -qpdf: processing 115-kfo.pdf | |
| 117 | -qpdf: processing 116-kfo.pdf | |
| 118 | -qpdf: processing 117-kfo.pdf | |
| 119 | -qpdf: processing 118-kfo.pdf | |
| 120 | -qpdf: processing 119-kfo.pdf | |
| 121 | -qpdf: processing 120-kfo.pdf | |
| 122 | -qpdf: processing 121-kfo.pdf | |
| 123 | -qpdf: processing 122-kfo.pdf | |
| 124 | -qpdf: processing 123-kfo.pdf | |
| 125 | -qpdf: processing 124-kfo.pdf | |
| 126 | -qpdf: processing 125-kfo.pdf | |
| 127 | -qpdf: processing 126-kfo.pdf | |
| 128 | -qpdf: processing 127-kfo.pdf | |
| 129 | -qpdf: processing 128-kfo.pdf | |
| 130 | -qpdf: processing 129-kfo.pdf | |
| 131 | -qpdf: processing 130-kfo.pdf | |
| 132 | -qpdf: processing 131-kfo.pdf | |
| 133 | -qpdf: processing 132-kfo.pdf | |
| 134 | -qpdf: processing 133-kfo.pdf | |
| 135 | -qpdf: processing 134-kfo.pdf | |
| 136 | -qpdf: processing 135-kfo.pdf | |
| 137 | -qpdf: processing 136-kfo.pdf | |
| 138 | -qpdf: processing 137-kfo.pdf | |
| 139 | -qpdf: processing 138-kfo.pdf | |
| 140 | -qpdf: processing 139-kfo.pdf | |
| 141 | -qpdf: processing 140-kfo.pdf | |
| 142 | -qpdf: processing 141-kfo.pdf | |
| 143 | -qpdf: processing 142-kfo.pdf | |
| 144 | -qpdf: processing 143-kfo.pdf | |
| 145 | -qpdf: processing 144-kfo.pdf | |
| 146 | -qpdf: processing 145-kfo.pdf | |
| 147 | -qpdf: processing 146-kfo.pdf | |
| 148 | -qpdf: processing 147-kfo.pdf | |
| 149 | -qpdf: processing 148-kfo.pdf | |
| 150 | -qpdf: processing 149-kfo.pdf | |
| 151 | -qpdf: processing 150-kfo.pdf | |
| 152 | -qpdf: processing 151-kfo.pdf | |
| 153 | -qpdf: processing 152-kfo.pdf | |
| 154 | -qpdf: processing 153-kfo.pdf | |
| 155 | -qpdf: processing 154-kfo.pdf | |
| 156 | -qpdf: processing 155-kfo.pdf | |
| 157 | -qpdf: processing 156-kfo.pdf | |
| 158 | -qpdf: processing 157-kfo.pdf | |
| 159 | -qpdf: processing 158-kfo.pdf | |
| 160 | -qpdf: processing 159-kfo.pdf | |
| 161 | -qpdf: processing 160-kfo.pdf | |
| 162 | -qpdf: processing 161-kfo.pdf | |
| 163 | -qpdf: processing 162-kfo.pdf | |
| 164 | -qpdf: processing 163-kfo.pdf | |
| 165 | -qpdf: processing 164-kfo.pdf | |
| 166 | -qpdf: processing 165-kfo.pdf | |
| 167 | -qpdf: processing 166-kfo.pdf | |
| 168 | -qpdf: processing 167-kfo.pdf | |
| 169 | -qpdf: processing 168-kfo.pdf | |
| 170 | -qpdf: processing 169-kfo.pdf | |
| 171 | -qpdf: processing 170-kfo.pdf | |
| 172 | -qpdf: processing 171-kfo.pdf | |
| 173 | -qpdf: processing 172-kfo.pdf | |
| 174 | -qpdf: processing 173-kfo.pdf | |
| 175 | -qpdf: processing 174-kfo.pdf | |
| 176 | -qpdf: processing 175-kfo.pdf | |
| 177 | -qpdf: processing 176-kfo.pdf | |
| 178 | -qpdf: processing 177-kfo.pdf | |
| 179 | -qpdf: processing 178-kfo.pdf | |
| 180 | -qpdf: processing 179-kfo.pdf | |
| 181 | -qpdf: processing 180-kfo.pdf | |
| 182 | -qpdf: processing 181-kfo.pdf | |
| 183 | -qpdf: processing 182-kfo.pdf | |
| 184 | -qpdf: processing 183-kfo.pdf | |
| 185 | -qpdf: processing 184-kfo.pdf | |
| 186 | -qpdf: processing 185-kfo.pdf | |
| 187 | -qpdf: processing 186-kfo.pdf | |
| 188 | -qpdf: processing 187-kfo.pdf | |
| 189 | -qpdf: processing 188-kfo.pdf | |
| 190 | -qpdf: processing 189-kfo.pdf | |
| 191 | -qpdf: processing 190-kfo.pdf | |
| 192 | -qpdf: processing 191-kfo.pdf | |
| 193 | -qpdf: processing 192-kfo.pdf | |
| 194 | -qpdf: processing 193-kfo.pdf | |
| 195 | -qpdf: processing 194-kfo.pdf | |
| 196 | -qpdf: processing 195-kfo.pdf | |
| 197 | -qpdf: processing 196-kfo.pdf | |
| 198 | -qpdf: processing 197-kfo.pdf | |
| 199 | -qpdf: processing 198-kfo.pdf | |
| 200 | -qpdf: processing 199-kfo.pdf | |
| 201 | -qpdf: processing 200-kfo.pdf | |
| 202 | -qpdf: processing 201-kfo.pdf | |
| 203 | 53 | qpdf: removing unreferenced pages from primary input |
| 204 | 54 | qpdf: adding pages from 001-kfo.pdf |
| 205 | 55 | qpdf: adding pages from 002-kfo.pdf |
| ... | ... | @@ -252,154 +102,4 @@ qpdf: adding pages from 048-kfo.pdf |
| 252 | 102 | qpdf: adding pages from 049-kfo.pdf |
| 253 | 103 | qpdf: adding pages from 050-kfo.pdf |
| 254 | 104 | qpdf: adding pages from 051-kfo.pdf |
| 255 | -qpdf: adding pages from 052-kfo.pdf | |
| 256 | -qpdf: adding pages from 053-kfo.pdf | |
| 257 | -qpdf: adding pages from 054-kfo.pdf | |
| 258 | -qpdf: adding pages from 055-kfo.pdf | |
| 259 | -qpdf: adding pages from 056-kfo.pdf | |
| 260 | -qpdf: adding pages from 057-kfo.pdf | |
| 261 | -qpdf: adding pages from 058-kfo.pdf | |
| 262 | -qpdf: adding pages from 059-kfo.pdf | |
| 263 | -qpdf: adding pages from 060-kfo.pdf | |
| 264 | -qpdf: adding pages from 061-kfo.pdf | |
| 265 | -qpdf: adding pages from 062-kfo.pdf | |
| 266 | -qpdf: adding pages from 063-kfo.pdf | |
| 267 | -qpdf: adding pages from 064-kfo.pdf | |
| 268 | -qpdf: adding pages from 065-kfo.pdf | |
| 269 | -qpdf: adding pages from 066-kfo.pdf | |
| 270 | -qpdf: adding pages from 067-kfo.pdf | |
| 271 | -qpdf: adding pages from 068-kfo.pdf | |
| 272 | -qpdf: adding pages from 069-kfo.pdf | |
| 273 | -qpdf: adding pages from 070-kfo.pdf | |
| 274 | -qpdf: adding pages from 071-kfo.pdf | |
| 275 | -qpdf: adding pages from 072-kfo.pdf | |
| 276 | -qpdf: adding pages from 073-kfo.pdf | |
| 277 | -qpdf: adding pages from 074-kfo.pdf | |
| 278 | -qpdf: adding pages from 075-kfo.pdf | |
| 279 | -qpdf: adding pages from 076-kfo.pdf | |
| 280 | -qpdf: adding pages from 077-kfo.pdf | |
| 281 | -qpdf: adding pages from 078-kfo.pdf | |
| 282 | -qpdf: adding pages from 079-kfo.pdf | |
| 283 | -qpdf: adding pages from 080-kfo.pdf | |
| 284 | -qpdf: adding pages from 081-kfo.pdf | |
| 285 | -qpdf: adding pages from 082-kfo.pdf | |
| 286 | -qpdf: adding pages from 083-kfo.pdf | |
| 287 | -qpdf: adding pages from 084-kfo.pdf | |
| 288 | -qpdf: adding pages from 085-kfo.pdf | |
| 289 | -qpdf: adding pages from 086-kfo.pdf | |
| 290 | -qpdf: adding pages from 087-kfo.pdf | |
| 291 | -qpdf: adding pages from 088-kfo.pdf | |
| 292 | -qpdf: adding pages from 089-kfo.pdf | |
| 293 | -qpdf: adding pages from 090-kfo.pdf | |
| 294 | -qpdf: adding pages from 091-kfo.pdf | |
| 295 | -qpdf: adding pages from 092-kfo.pdf | |
| 296 | -qpdf: adding pages from 093-kfo.pdf | |
| 297 | -qpdf: adding pages from 094-kfo.pdf | |
| 298 | -qpdf: adding pages from 095-kfo.pdf | |
| 299 | -qpdf: adding pages from 096-kfo.pdf | |
| 300 | -qpdf: adding pages from 097-kfo.pdf | |
| 301 | -qpdf: adding pages from 098-kfo.pdf | |
| 302 | -qpdf: adding pages from 099-kfo.pdf | |
| 303 | -qpdf: adding pages from 100-kfo.pdf | |
| 304 | -qpdf: adding pages from 101-kfo.pdf | |
| 305 | -qpdf: adding pages from 102-kfo.pdf | |
| 306 | -qpdf: adding pages from 103-kfo.pdf | |
| 307 | -qpdf: adding pages from 104-kfo.pdf | |
| 308 | -qpdf: adding pages from 105-kfo.pdf | |
| 309 | -qpdf: adding pages from 106-kfo.pdf | |
| 310 | -qpdf: adding pages from 107-kfo.pdf | |
| 311 | -qpdf: adding pages from 108-kfo.pdf | |
| 312 | -qpdf: adding pages from 109-kfo.pdf | |
| 313 | -qpdf: adding pages from 110-kfo.pdf | |
| 314 | -qpdf: adding pages from 111-kfo.pdf | |
| 315 | -qpdf: adding pages from 112-kfo.pdf | |
| 316 | -qpdf: adding pages from 113-kfo.pdf | |
| 317 | -qpdf: adding pages from 114-kfo.pdf | |
| 318 | -qpdf: adding pages from 115-kfo.pdf | |
| 319 | -qpdf: adding pages from 116-kfo.pdf | |
| 320 | -qpdf: adding pages from 117-kfo.pdf | |
| 321 | -qpdf: adding pages from 118-kfo.pdf | |
| 322 | -qpdf: adding pages from 119-kfo.pdf | |
| 323 | -qpdf: adding pages from 120-kfo.pdf | |
| 324 | -qpdf: adding pages from 121-kfo.pdf | |
| 325 | -qpdf: adding pages from 122-kfo.pdf | |
| 326 | -qpdf: adding pages from 123-kfo.pdf | |
| 327 | -qpdf: adding pages from 124-kfo.pdf | |
| 328 | -qpdf: adding pages from 125-kfo.pdf | |
| 329 | -qpdf: adding pages from 126-kfo.pdf | |
| 330 | -qpdf: adding pages from 127-kfo.pdf | |
| 331 | -qpdf: adding pages from 128-kfo.pdf | |
| 332 | -qpdf: adding pages from 129-kfo.pdf | |
| 333 | -qpdf: adding pages from 130-kfo.pdf | |
| 334 | -qpdf: adding pages from 131-kfo.pdf | |
| 335 | -qpdf: adding pages from 132-kfo.pdf | |
| 336 | -qpdf: adding pages from 133-kfo.pdf | |
| 337 | -qpdf: adding pages from 134-kfo.pdf | |
| 338 | -qpdf: adding pages from 135-kfo.pdf | |
| 339 | -qpdf: adding pages from 136-kfo.pdf | |
| 340 | -qpdf: adding pages from 137-kfo.pdf | |
| 341 | -qpdf: adding pages from 138-kfo.pdf | |
| 342 | -qpdf: adding pages from 139-kfo.pdf | |
| 343 | -qpdf: adding pages from 140-kfo.pdf | |
| 344 | -qpdf: adding pages from 141-kfo.pdf | |
| 345 | -qpdf: adding pages from 142-kfo.pdf | |
| 346 | -qpdf: adding pages from 143-kfo.pdf | |
| 347 | -qpdf: adding pages from 144-kfo.pdf | |
| 348 | -qpdf: adding pages from 145-kfo.pdf | |
| 349 | -qpdf: adding pages from 146-kfo.pdf | |
| 350 | -qpdf: adding pages from 147-kfo.pdf | |
| 351 | -qpdf: adding pages from 148-kfo.pdf | |
| 352 | -qpdf: adding pages from 149-kfo.pdf | |
| 353 | -qpdf: adding pages from 150-kfo.pdf | |
| 354 | -qpdf: adding pages from 151-kfo.pdf | |
| 355 | -qpdf: adding pages from 152-kfo.pdf | |
| 356 | -qpdf: adding pages from 153-kfo.pdf | |
| 357 | -qpdf: adding pages from 154-kfo.pdf | |
| 358 | -qpdf: adding pages from 155-kfo.pdf | |
| 359 | -qpdf: adding pages from 156-kfo.pdf | |
| 360 | -qpdf: adding pages from 157-kfo.pdf | |
| 361 | -qpdf: adding pages from 158-kfo.pdf | |
| 362 | -qpdf: adding pages from 159-kfo.pdf | |
| 363 | -qpdf: adding pages from 160-kfo.pdf | |
| 364 | -qpdf: adding pages from 161-kfo.pdf | |
| 365 | -qpdf: adding pages from 162-kfo.pdf | |
| 366 | -qpdf: adding pages from 163-kfo.pdf | |
| 367 | -qpdf: adding pages from 164-kfo.pdf | |
| 368 | -qpdf: adding pages from 165-kfo.pdf | |
| 369 | -qpdf: adding pages from 166-kfo.pdf | |
| 370 | -qpdf: adding pages from 167-kfo.pdf | |
| 371 | -qpdf: adding pages from 168-kfo.pdf | |
| 372 | -qpdf: adding pages from 169-kfo.pdf | |
| 373 | -qpdf: adding pages from 170-kfo.pdf | |
| 374 | -qpdf: adding pages from 171-kfo.pdf | |
| 375 | -qpdf: adding pages from 172-kfo.pdf | |
| 376 | -qpdf: adding pages from 173-kfo.pdf | |
| 377 | -qpdf: adding pages from 174-kfo.pdf | |
| 378 | -qpdf: adding pages from 175-kfo.pdf | |
| 379 | -qpdf: adding pages from 176-kfo.pdf | |
| 380 | -qpdf: adding pages from 177-kfo.pdf | |
| 381 | -qpdf: adding pages from 178-kfo.pdf | |
| 382 | -qpdf: adding pages from 179-kfo.pdf | |
| 383 | -qpdf: adding pages from 180-kfo.pdf | |
| 384 | -qpdf: adding pages from 181-kfo.pdf | |
| 385 | -qpdf: adding pages from 182-kfo.pdf | |
| 386 | -qpdf: adding pages from 183-kfo.pdf | |
| 387 | -qpdf: adding pages from 184-kfo.pdf | |
| 388 | -qpdf: adding pages from 185-kfo.pdf | |
| 389 | -qpdf: adding pages from 186-kfo.pdf | |
| 390 | -qpdf: adding pages from 187-kfo.pdf | |
| 391 | -qpdf: adding pages from 188-kfo.pdf | |
| 392 | -qpdf: adding pages from 189-kfo.pdf | |
| 393 | -qpdf: adding pages from 190-kfo.pdf | |
| 394 | -qpdf: adding pages from 191-kfo.pdf | |
| 395 | -qpdf: adding pages from 192-kfo.pdf | |
| 396 | -qpdf: adding pages from 193-kfo.pdf | |
| 397 | -qpdf: adding pages from 194-kfo.pdf | |
| 398 | -qpdf: adding pages from 195-kfo.pdf | |
| 399 | -qpdf: adding pages from 196-kfo.pdf | |
| 400 | -qpdf: adding pages from 197-kfo.pdf | |
| 401 | -qpdf: adding pages from 198-kfo.pdf | |
| 402 | -qpdf: adding pages from 199-kfo.pdf | |
| 403 | -qpdf: adding pages from 200-kfo.pdf | |
| 404 | -qpdf: adding pages from 201-kfo.pdf | |
| 405 | 105 | qpdf: wrote file a.pdf | ... | ... |
qpdf/qtest/qpdf/enable-kfo.out
| 1 | 1 | qpdf: selecting --keep-open-files=y |
| 2 | -qpdf: processing 110-kfo.pdf | |
| 3 | -qpdf: processing 111-kfo.pdf | |
| 4 | -qpdf: processing 112-kfo.pdf | |
| 5 | -qpdf: processing 113-kfo.pdf | |
| 6 | -qpdf: processing 114-kfo.pdf | |
| 7 | -qpdf: processing 115-kfo.pdf | |
| 8 | -qpdf: processing 116-kfo.pdf | |
| 9 | -qpdf: processing 117-kfo.pdf | |
| 10 | -qpdf: processing 118-kfo.pdf | |
| 11 | -qpdf: processing 119-kfo.pdf | |
| 2 | +qpdf: processing 010-kfo.pdf | |
| 3 | +qpdf: processing 011-kfo.pdf | |
| 4 | +qpdf: processing 012-kfo.pdf | |
| 5 | +qpdf: processing 013-kfo.pdf | |
| 6 | +qpdf: processing 014-kfo.pdf | |
| 7 | +qpdf: processing 015-kfo.pdf | |
| 8 | +qpdf: processing 016-kfo.pdf | |
| 9 | +qpdf: processing 017-kfo.pdf | |
| 10 | +qpdf: processing 018-kfo.pdf | |
| 11 | +qpdf: processing 019-kfo.pdf | |
| 12 | 12 | qpdf: removing unreferenced pages from primary input |
| 13 | -qpdf: adding pages from 110-kfo.pdf | |
| 14 | -qpdf: adding pages from 111-kfo.pdf | |
| 15 | -qpdf: adding pages from 112-kfo.pdf | |
| 16 | -qpdf: adding pages from 113-kfo.pdf | |
| 17 | -qpdf: adding pages from 114-kfo.pdf | |
| 18 | -qpdf: adding pages from 115-kfo.pdf | |
| 19 | -qpdf: adding pages from 116-kfo.pdf | |
| 20 | -qpdf: adding pages from 117-kfo.pdf | |
| 21 | -qpdf: adding pages from 118-kfo.pdf | |
| 22 | -qpdf: adding pages from 119-kfo.pdf | |
| 13 | +qpdf: adding pages from 010-kfo.pdf | |
| 14 | +qpdf: adding pages from 011-kfo.pdf | |
| 15 | +qpdf: adding pages from 012-kfo.pdf | |
| 16 | +qpdf: adding pages from 013-kfo.pdf | |
| 17 | +qpdf: adding pages from 014-kfo.pdf | |
| 18 | +qpdf: adding pages from 015-kfo.pdf | |
| 19 | +qpdf: adding pages from 016-kfo.pdf | |
| 20 | +qpdf: adding pages from 017-kfo.pdf | |
| 21 | +qpdf: adding pages from 018-kfo.pdf | |
| 22 | +qpdf: adding pages from 019-kfo.pdf | |
| 23 | 23 | qpdf: wrote file a.pdf | ... | ... |