Commit 7dd5f31230702afee6530956f4791bfc5046356c
Committed by
Jay Berkenbilt
1 parent
e091b6c9
Fix typos in manual
Fix typos in cli.rst
Showing
4 changed files
with
74 additions
and
79 deletions
job.sums
| @@ -8,8 +8,8 @@ include/qpdf/auto_job_c_pages.hh 931840b329a36ca0e41401190e04537b47f2867671a6643 | @@ -8,8 +8,8 @@ include/qpdf/auto_job_c_pages.hh 931840b329a36ca0e41401190e04537b47f2867671a6643 | ||
| 8 | include/qpdf/auto_job_c_uo.hh 0585b7de459fa479d9e51a45fa92de0ff6dee748efc9ec1cedd0dde6cee1ad50 | 8 | include/qpdf/auto_job_c_uo.hh 0585b7de459fa479d9e51a45fa92de0ff6dee748efc9ec1cedd0dde6cee1ad50 |
| 9 | job.yml 1590fd16fd17ed40db9aa56b6713c844cfd61b3a6d0441a3ccd122b7371c68e9 | 9 | job.yml 1590fd16fd17ed40db9aa56b6713c844cfd61b3a6d0441a3ccd122b7371c68e9 |
| 10 | libqpdf/qpdf/auto_job_decl.hh 9f79396ec459f191be4c5fe34cf88c265cf47355a1a945fa39169d1c94cf04f6 | 10 | libqpdf/qpdf/auto_job_decl.hh 9f79396ec459f191be4c5fe34cf88c265cf47355a1a945fa39169d1c94cf04f6 |
| 11 | -libqpdf/qpdf/auto_job_help.hh 383eea80e2c185ef5295fc126246457a7ceeffea759fdb90bb2e6727532ea538 | 11 | +libqpdf/qpdf/auto_job_help.hh 524e8123152df496794954d16a556d5fee9c76ec6a7f5a6b8f9d2b59c1719e10 |
| 12 | libqpdf/qpdf/auto_job_init.hh 3b6323189480a7d782563c9d2b5bc29b8dcd19c6dcc89840b207e38cb503d3f1 | 12 | libqpdf/qpdf/auto_job_init.hh 3b6323189480a7d782563c9d2b5bc29b8dcd19c6dcc89840b207e38cb503d3f1 |
| 13 | -libqpdf/qpdf/auto_job_schema.hh 16bfde09f71765b0977af31d64b13632d2e6dda184bda79b2b9e45bc354a1677 | 13 | +libqpdf/qpdf/auto_job_schema.hh 1c3b4b5488270f8d200ed345573e3a241f15baff6fb7e97ec3d044103b2546d9 |
| 14 | manual/_ext/qpdf.py e9ac9d6c70642a3d29281ee5ad92ae2422dee8be9306fb8a0bc9dba0ed5e28f3 | 14 | manual/_ext/qpdf.py e9ac9d6c70642a3d29281ee5ad92ae2422dee8be9306fb8a0bc9dba0ed5e28f3 |
| 15 | -manual/cli.rst 68122ff8179c10df3fe6d577adde4973c346f7866ba9a511bab5a6e6f292a6f1 | 15 | +manual/cli.rst 06785f88a28703da0f6d81b6983ae6c09aa1dd8cd958fb5058d56177da431c6c |
libqpdf/qpdf/auto_job_help.hh
| @@ -86,7 +86,7 @@ ap.addOptionHelp("--progress", "general", "show progress when writing", R"(Indic | @@ -86,7 +86,7 @@ ap.addOptionHelp("--progress", "general", "show progress when writing", R"(Indic | ||
| 86 | } | 86 | } |
| 87 | static void add_help_2(QPDFArgParser& ap) | 87 | static void add_help_2(QPDFArgParser& ap) |
| 88 | { | 88 | { |
| 89 | -ap.addOptionHelp("--no-warn", "general", "suppress printing warning messages", R"(Suppress printing warning messages. If warnings were | 89 | +ap.addOptionHelp("--no-warn", "general", "suppress printing of warning messages", R"(Suppress printing of warning messages. If warnings were |
| 90 | encountered, qpdf still exits with exit status 3. | 90 | encountered, qpdf still exits with exit status 3. |
| 91 | Use --warning-exit-0 with --no-warn to completely ignore | 91 | Use --warning-exit-0 with --no-warn to completely ignore |
| 92 | warnings. | 92 | warnings. |
| @@ -95,7 +95,7 @@ ap.addOptionHelp("--deterministic-id", "general", "generate ID deterministically | @@ -95,7 +95,7 @@ ap.addOptionHelp("--deterministic-id", "general", "generate ID deterministically | ||
| 95 | information, such as the page contents. Does not use the file's | 95 | information, such as the page contents. Does not use the file's |
| 96 | name or attributes or the current time. | 96 | name or attributes or the current time. |
| 97 | )"); | 97 | )"); |
| 98 | -ap.addOptionHelp("--allow-weak-crypto", "general", "allow insecure cryptographic algorithms", R"(All creation of files with weak cryptographic algorithms. This | 98 | +ap.addOptionHelp("--allow-weak-crypto", "general", "allow insecure cryptographic algorithms", R"(Allow creation of files with weak cryptographic algorithms. This |
| 99 | option is necessary to create 40-bit files or 128-bit files that | 99 | option is necessary to create 40-bit files or 128-bit files that |
| 100 | use RC4 encryption. | 100 | use RC4 encryption. |
| 101 | )"); | 101 | )"); |
| @@ -115,7 +115,7 @@ ap.addHelpTopic("advanced-control", "tweak qpdf's behavior", R"(Advanced control | @@ -115,7 +115,7 @@ ap.addHelpTopic("advanced-control", "tweak qpdf's behavior", R"(Advanced control | ||
| 115 | normally never be needed by a user but that may be useful to | 115 | normally never be needed by a user but that may be useful to |
| 116 | developers or people investigating problems with specific files. | 116 | developers or people investigating problems with specific files. |
| 117 | )"); | 117 | )"); |
| 118 | -ap.addOptionHelp("--password-is-hex-key", "advanced-control", "provide hex-encoded encryption key", R"(Provide the underlying file encryption key has a hex-encoded | 118 | +ap.addOptionHelp("--password-is-hex-key", "advanced-control", "provide hex-encoded encryption key", R"(Provide the underlying file encryption key as a hex-encoded |
| 119 | string rather than supplying a password. This is an expert | 119 | string rather than supplying a password. This is an expert |
| 120 | option. | 120 | option. |
| 121 | )"); | 121 | )"); |
| @@ -123,7 +123,7 @@ ap.addOptionHelp("--suppress-password-recovery", "advanced-control", "don't try | @@ -123,7 +123,7 @@ ap.addOptionHelp("--suppress-password-recovery", "advanced-control", "don't try | ||
| 123 | password that contains non-ASCII Unicode characters if the first | 123 | password that contains non-ASCII Unicode characters if the first |
| 124 | attempt doesn't succeed. | 124 | attempt doesn't succeed. |
| 125 | )"); | 125 | )"); |
| 126 | -ap.addOptionHelp("--password-mode", "advanced-control", "tweak how qpdf encodes passwords", R"(--password-mode={mode} | 126 | +ap.addOptionHelp("--password-mode", "advanced-control", "tweak how qpdf encodes passwords", R"(--password-mode=mode |
| 127 | 127 | ||
| 128 | Fine-tune how qpdf controls encoding of Unicode passwords. Valid | 128 | Fine-tune how qpdf controls encoding of Unicode passwords. Valid |
| 129 | options are auto, bytes, hex-bytes, and unicode. | 129 | options are auto, bytes, hex-bytes, and unicode. |
| @@ -139,7 +139,7 @@ the structure without changing the content. | @@ -139,7 +139,7 @@ the structure without changing the content. | ||
| 139 | )"); | 139 | )"); |
| 140 | ap.addOptionHelp("--linearize", "transformation", "linearize (web-optimize) output", R"(Create linearized (web-optimized) output files. | 140 | ap.addOptionHelp("--linearize", "transformation", "linearize (web-optimize) output", R"(Create linearized (web-optimized) output files. |
| 141 | )"); | 141 | )"); |
| 142 | -ap.addOptionHelp("--encrypt", "transformation", "start encryption options", R"(--encrypt user owner key-length [ options ] -- | 142 | +ap.addOptionHelp("--encrypt", "transformation", "start encryption options", R"(--encrypt user-password owner-password key-length [ options ] -- |
| 143 | 143 | ||
| 144 | Run qpdf --help=encryption for details. | 144 | Run qpdf --help=encryption for details. |
| 145 | )"); | 145 | )"); |
| @@ -156,7 +156,7 @@ to specify the encryption file's password. | @@ -156,7 +156,7 @@ to specify the encryption file's password. | ||
| 156 | ap.addOptionHelp("--encryption-file-password", "transformation", "supply password for --copy-encryption", R"(--encryption-file-password=password | 156 | ap.addOptionHelp("--encryption-file-password", "transformation", "supply password for --copy-encryption", R"(--encryption-file-password=password |
| 157 | 157 | ||
| 158 | If the file named in --copy-encryption requires a password, use | 158 | If the file named in --copy-encryption requires a password, use |
| 159 | -this option to specify the password. | 159 | +this option to supply the password. |
| 160 | )"); | 160 | )"); |
| 161 | ap.addOptionHelp("--qdf", "transformation", "enable viewing PDF code in a text editor", R"(Create a PDF file suitable for viewing in a text editor and even | 161 | ap.addOptionHelp("--qdf", "transformation", "enable viewing PDF code in a text editor", R"(Create a PDF file suitable for viewing in a text editor and even |
| 162 | editing. This is to edit the PDF code, not the page contents. | 162 | editing. This is to edit the PDF code, not the page contents. |
| @@ -166,7 +166,7 @@ companion tool "fix-qdf" can be used to repair hand-edited QDF | @@ -166,7 +166,7 @@ companion tool "fix-qdf" can be used to repair hand-edited QDF | ||
| 166 | files. QDF is a feature specific to the qpdf tool. There is a | 166 | files. QDF is a feature specific to the qpdf tool. There is a |
| 167 | chapter about it in the manual. | 167 | chapter about it in the manual. |
| 168 | )"); | 168 | )"); |
| 169 | -ap.addOptionHelp("--no-original-object-ids", "transformation", "omit original object ID in qdf", R"(Omit comments in a QDF file indicating the object ID an object | 169 | +ap.addOptionHelp("--no-original-object-ids", "transformation", "omit original object IDs in qdf", R"(Omit comments in a QDF file indicating the object ID an object |
| 170 | had in the original file. | 170 | had in the original file. |
| 171 | )"); | 171 | )"); |
| 172 | } | 172 | } |
| @@ -288,13 +288,13 @@ Run qpdf --help=page-selection for details. | @@ -288,13 +288,13 @@ Run qpdf --help=page-selection for details. | ||
| 288 | } | 288 | } |
| 289 | static void add_help_4(QPDFArgParser& ap) | 289 | static void add_help_4(QPDFArgParser& ap) |
| 290 | { | 290 | { |
| 291 | -ap.addOptionHelp("--collate", "modification", "collate with --pages", R"(--collate=n | 291 | +ap.addOptionHelp("--collate", "modification", "collate with --pages", R"(--collate[=n] |
| 292 | 292 | ||
| 293 | Collate rather than concatenate pages specified with --pages. | 293 | Collate rather than concatenate pages specified with --pages. |
| 294 | With a numeric parameter, collate in groups of n. The default | 294 | With a numeric parameter, collate in groups of n. The default |
| 295 | is 1. Run qpdf --help=page-selection for additional details. | 295 | is 1. Run qpdf --help=page-selection for additional details. |
| 296 | )"); | 296 | )"); |
| 297 | -ap.addOptionHelp("--split-pages", "modification", "write pages to separate files", R"(--split-pages=[n] | 297 | +ap.addOptionHelp("--split-pages", "modification", "write pages to separate files", R"(--split-pages[=n] |
| 298 | 298 | ||
| 299 | This option causes qpdf to create separate output files for each | 299 | This option causes qpdf to create separate output files for each |
| 300 | page or group of pages rather than a single output file. | 300 | page or group of pages rather than a single output file. |
| @@ -532,7 +532,7 @@ the following: | @@ -532,7 +532,7 @@ the following: | ||
| 532 | filename [ --password=password ] [ page-range ] | 532 | filename [ --password=password ] [ page-range ] |
| 533 | 533 | ||
| 534 | Document-level information, such as outlines, tags, etc., is taken | 534 | Document-level information, such as outlines, tags, etc., is taken |
| 535 | -from in.pdf is preserved in out.pdf. You can use --empty in place | 535 | +from in.pdf and is preserved in out.pdf. You can use --empty in place |
| 536 | of an input file to start from an empty file and just copy pages | 536 | of an input file to start from an empty file and just copy pages |
| 537 | equally from all files. You can use "." as a shorthand for the | 537 | equally from all files. You can use "." as a shorthand for the |
| 538 | primary input file (if not --empty). In the above example, "." | 538 | primary input file (if not --empty). In the above example, "." |
libqpdf/qpdf/auto_job_schema.hh
| @@ -24,7 +24,7 @@ static constexpr char const* JOB_SCHEMA_DATA = R"({ | @@ -24,7 +24,7 @@ static constexpr char const* JOB_SCHEMA_DATA = R"({ | ||
| 24 | "decrypt": "remove encryption from input file", | 24 | "decrypt": "remove encryption from input file", |
| 25 | "staticAesIv": "use a fixed AES vector", | 25 | "staticAesIv": "use a fixed AES vector", |
| 26 | "staticId": "use a fixed document ID", | 26 | "staticId": "use a fixed document ID", |
| 27 | - "noOriginalObjectIds": "omit original object ID in qdf", | 27 | + "noOriginalObjectIds": "omit original object IDs in qdf", |
| 28 | "copyEncryption": "copy another file's encryption details", | 28 | "copyEncryption": "copy another file's encryption details", |
| 29 | "encryptionFilePassword": "supply password for copyEncryption", | 29 | "encryptionFilePassword": "supply password for copyEncryption", |
| 30 | "linearize": "linearize (web-optimize) output", | 30 | "linearize": "linearize (web-optimize) output", |
| @@ -78,7 +78,7 @@ static constexpr char const* JOB_SCHEMA_DATA = R"({ | @@ -78,7 +78,7 @@ static constexpr char const* JOB_SCHEMA_DATA = R"({ | ||
| 78 | "deterministicId": "generate ID deterministically", | 78 | "deterministicId": "generate ID deterministically", |
| 79 | "keepFilesOpen": "manage keeping multiple files open", | 79 | "keepFilesOpen": "manage keeping multiple files open", |
| 80 | "keepFilesOpenThreshold": "set threshold for keepFilesOpen", | 80 | "keepFilesOpenThreshold": "set threshold for keepFilesOpen", |
| 81 | - "noWarn": "suppress printing warning messages", | 81 | + "noWarn": "suppress printing of warning messages", |
| 82 | "verbose": "print additional information", | 82 | "verbose": "print additional information", |
| 83 | "warningExit0": "exit 0 even with warnings", | 83 | "warningExit0": "exit 0 even with warnings", |
| 84 | "ignoreXrefStreams": "use xref tables rather than streams", | 84 | "ignoreXrefStreams": "use xref tables rather than streams", |
manual/cli.rst
| @@ -88,7 +88,7 @@ Basic Invocation | @@ -88,7 +88,7 @@ Basic Invocation | ||
| 88 | 88 | ||
| 89 | The :command:`qpdf` command reads the PDF file :samp:`{infile}`, | 89 | The :command:`qpdf` command reads the PDF file :samp:`{infile}`, |
| 90 | applies various transformations or modifications to the file in | 90 | applies various transformations or modifications to the file in |
| 91 | -memory, and writes the results to :samp:`{outfile}`. When run with no | 91 | +memory, and writes the result to :samp:`{outfile}`. When run with no |
| 92 | options, the output file is functionally identical to the input file | 92 | options, the output file is functionally identical to the input file |
| 93 | but may be structurally reorganized, and orphaned objects are removed | 93 | but may be structurally reorganized, and orphaned objects are removed |
| 94 | from the file. Many options are available for applying transformations | 94 | from the file. Many options are available for applying transformations |
| @@ -110,8 +110,8 @@ Password-protected files may be opened by specifying a password with | @@ -110,8 +110,8 @@ Password-protected files may be opened by specifying a password with | ||
| 110 | 110 | ||
| 111 | All options other than help options (see :ref:`help-options`) require | 111 | All options other than help options (see :ref:`help-options`) require |
| 112 | an input file. If inspection options (see :ref:`inspection-options`) | 112 | an input file. If inspection options (see :ref:`inspection-options`) |
| 113 | -are given, an output file must not be given. Otherwise, an output file | ||
| 114 | -is required. | 113 | +or help options are given, an output file must not be given. Otherwise, |
| 114 | +an output file is required. | ||
| 115 | 115 | ||
| 116 | If :samp:`@filename` appears as a word anywhere in the command-line, | 116 | If :samp:`@filename` appears as a word anywhere in the command-line, |
| 117 | it will be read line by line, and each line will be treated as a | 117 | it will be read line by line, and each line will be treated as a |
| @@ -252,7 +252,7 @@ you're in a different directory. | @@ -252,7 +252,7 @@ you're in a different directory. | ||
| 252 | 252 | ||
| 253 | :command:`qpdf` will use ``argv[0]`` to figure out where its | 253 | :command:`qpdf` will use ``argv[0]`` to figure out where its |
| 254 | executable is. This may produce unwanted results in some cases, | 254 | executable is. This may produce unwanted results in some cases, |
| 255 | -especially if you are trying to use completion with copy of qpdf that | 255 | +especially if you are trying to use completion with a copy of qpdf that |
| 256 | is run directly out of the source tree or that is invoked with a | 256 | is run directly out of the source tree or that is invoked with a |
| 257 | wrapper script. You can specify a full path to the qpdf you want to | 257 | wrapper script. You can specify a full path to the qpdf you want to |
| 258 | use for completion in the ``QPDF_EXECUTABLE`` environment variable. | 258 | use for completion in the ``QPDF_EXECUTABLE`` environment variable. |
| @@ -361,23 +361,18 @@ Related Options | @@ -361,23 +361,18 @@ Related Options | ||
| 361 | 361 | ||
| 362 | Specifies a password for accessing encrypted, password-protected | 362 | Specifies a password for accessing encrypted, password-protected |
| 363 | files. To read the password from a file or standard input, you can | 363 | files. To read the password from a file or standard input, you can |
| 364 | - use :qpdf:ref:`--password-file`. You can also use :samp:`@filename` | ||
| 365 | - or :samp:`@-` (see :ref:`invocation`) to put the password in a file | ||
| 366 | - or pass it via standard input, but you would do so by specifying | ||
| 367 | - the entire :samp:`--password={password}` option in the file. Syntax | ||
| 368 | - such as :samp:`--password=@filename` won't work since | ||
| 369 | - :samp:`@filename` is not recognized in the middle of an argument. | ||
| 370 | - | ||
| 371 | - Prior to 8.4.0, in the case of passwords that contain characters that | ||
| 372 | - fall outside of 7-bit US-ASCII, qpdf left the burden of supplying | ||
| 373 | - properly encoded encryption and decryption passwords to the user. | ||
| 374 | - Starting in qpdf 8.4.0, qpdf does this automatically in most cases. | ||
| 375 | - For an in-depth discussion, please see :ref:`unicode-passwords`. | ||
| 376 | - Previous versions of this manual described workarounds using the | ||
| 377 | - :command:`iconv` command. Such workarounds are no longer required or | ||
| 378 | - recommended with qpdf 8.4.0. However, for backward compatibility, qpdf | ||
| 379 | - attempts to detect those workarounds and do the right thing in most | ||
| 380 | - cases. | 364 | + use :qpdf:ref:`--password-file`. |
| 365 | + | ||
| 366 | + Prior to 8.4.0, in the case of passwords that contain characters | ||
| 367 | + that fall outside of 7-bit US-ASCII, qpdf left the burden of | ||
| 368 | + supplying properly encoded encryption and decryption passwords to | ||
| 369 | + the user. Starting in qpdf 8.4.0, qpdf does this automatically in | ||
| 370 | + most cases. For an in-depth discussion, please see | ||
| 371 | + :ref:`unicode-passwords`. Previous versions of this manual | ||
| 372 | + described workarounds using the :command:`iconv` command. Such | ||
| 373 | + workarounds are no longer required or recommended starting with | ||
| 374 | + qpdf 8.4.0. However, for backward compatibility, qpdf attempts to | ||
| 375 | + detect those workarounds and do the right thing in most cases. | ||
| 381 | 376 | ||
| 382 | .. qpdf:option:: --password-file=filename | 377 | .. qpdf:option:: --password-file=filename |
| 383 | 378 | ||
| @@ -400,7 +395,7 @@ Related Options | @@ -400,7 +395,7 @@ Related Options | ||
| 400 | doing, including information about files created and operations | 395 | doing, including information about files created and operations |
| 401 | performed. | 396 | performed. |
| 402 | 397 | ||
| 403 | - Increase verbosity of output. This includes information files | 398 | + Increase verbosity of output. This includes information about files |
| 404 | created, image optimization, and several other operations. In some | 399 | created, image optimization, and several other operations. In some |
| 405 | cases, it also displays additional information when inspection | 400 | cases, it also displays additional information when inspection |
| 406 | options (see :ref:`inspection-options`) are used. | 401 | options (see :ref:`inspection-options`) are used. |
| @@ -413,14 +408,14 @@ Related Options | @@ -413,14 +408,14 @@ Related Options | ||
| 413 | 408 | ||
| 414 | Indicate progress while writing output files. Progress indication | 409 | Indicate progress while writing output files. Progress indication |
| 415 | does not start until writing starts, so if complicated | 410 | does not start until writing starts, so if complicated |
| 416 | - transformations are being applied before the write progress begins, | 411 | + transformations are being applied before the write process begins, |
| 417 | there may be a delay before progress indicators are seen. | 412 | there may be a delay before progress indicators are seen. |
| 418 | 413 | ||
| 419 | .. qpdf:option:: --no-warn | 414 | .. qpdf:option:: --no-warn |
| 420 | 415 | ||
| 421 | - .. help: suppress printing warning messages | 416 | + .. help: suppress printing of warning messages |
| 422 | 417 | ||
| 423 | - Suppress printing warning messages. If warnings were | 418 | + Suppress printing of warning messages. If warnings were |
| 424 | encountered, qpdf still exits with exit status 3. | 419 | encountered, qpdf still exits with exit status 3. |
| 425 | Use --warning-exit-0 with --no-warn to completely ignore | 420 | Use --warning-exit-0 with --no-warn to completely ignore |
| 426 | warnings. | 421 | warnings. |
| @@ -461,7 +456,7 @@ Related Options | @@ -461,7 +456,7 @@ Related Options | ||
| 461 | 456 | ||
| 462 | .. help: allow insecure cryptographic algorithms | 457 | .. help: allow insecure cryptographic algorithms |
| 463 | 458 | ||
| 464 | - All creation of files with weak cryptographic algorithms. This | 459 | + Allow creation of files with weak cryptographic algorithms. This |
| 465 | option is necessary to create 40-bit files or 128-bit files that | 460 | option is necessary to create 40-bit files or 128-bit files that |
| 466 | use RC4 encryption. | 461 | use RC4 encryption. |
| 467 | 462 | ||
| @@ -482,8 +477,8 @@ Related Options | @@ -482,8 +477,8 @@ Related Options | ||
| 482 | 477 | ||
| 483 | This option controls whether qpdf keeps individual files open while | 478 | This option controls whether qpdf keeps individual files open while |
| 484 | merging. By default, qpdf keeps files open when merging unless more | 479 | merging. By default, qpdf keeps files open when merging unless more |
| 485 | - than 200 files are specified, in which case files are open as | ||
| 486 | - needed and closed when finished. The behavior of repeatedly opening | 480 | + than 200 files are specified, in which case files are opened as |
| 481 | + needed and closed when finished. Repeatedly opening | ||
| 487 | and closing files may impose a large performance penalty with some | 482 | and closing files may impose a large performance penalty with some |
| 488 | file systems, especially networked file systems. If you know that | 483 | file systems, especially networked file systems. If you know that |
| 489 | you have a large enough open file limit and are suffering from | 484 | you have a large enough open file limit and are suffering from |
| @@ -501,7 +496,7 @@ Related Options | @@ -501,7 +496,7 @@ Related Options | ||
| 501 | each read, but this caused a major performance impact. Version | 496 | each read, but this caused a major performance impact. Version |
| 502 | 8.2.0 optimized the performance but did so in a way that, for local | 497 | 8.2.0 optimized the performance but did so in a way that, for local |
| 503 | file systems, there was a small but unavoidable performance hit, | 498 | file systems, there was a small but unavoidable performance hit, |
| 504 | - but for networked file systems, the performance impact could be | 499 | + but for networked file systems the performance impact could be |
| 505 | very high. The current behavior was introduced in qpdf version | 500 | very high. The current behavior was introduced in qpdf version |
| 506 | 8.2.1. | 501 | 8.2.1. |
| 507 | 502 | ||
| @@ -538,7 +533,7 @@ Related Options | @@ -538,7 +533,7 @@ Related Options | ||
| 538 | 533 | ||
| 539 | .. help: provide hex-encoded encryption key | 534 | .. help: provide hex-encoded encryption key |
| 540 | 535 | ||
| 541 | - Provide the underlying file encryption key has a hex-encoded | 536 | + Provide the underlying file encryption key as a hex-encoded |
| 542 | string rather than supplying a password. This is an expert | 537 | string rather than supplying a password. This is an expert |
| 543 | option. | 538 | option. |
| 544 | 539 | ||
| @@ -571,11 +566,11 @@ Related Options | @@ -571,11 +566,11 @@ Related Options | ||
| 571 | attempt doesn't succeed. | 566 | attempt doesn't succeed. |
| 572 | 567 | ||
| 573 | Ordinarily, qpdf attempts to automatically compensate for passwords | 568 | Ordinarily, qpdf attempts to automatically compensate for passwords |
| 574 | - specified in the wrong character encoding. This option suppresses | 569 | + encoded with the wrong character encoding. This option suppresses |
| 575 | that behavior. Under normal conditions, there are no reasons to use | 570 | that behavior. Under normal conditions, there are no reasons to use |
| 576 | - this option. See :ref:`unicode-passwords` for a discussion | 571 | + this option. See :ref:`unicode-passwords` for a discussion. |
| 577 | 572 | ||
| 578 | -.. qpdf:option:: --password-mode={mode} | 573 | +.. qpdf:option:: --password-mode=mode |
| 579 | 574 | ||
| 580 | .. help: tweak how qpdf encodes passwords | 575 | .. help: tweak how qpdf encodes passwords |
| 581 | 576 | ||
| @@ -593,7 +588,7 @@ Related Options | @@ -593,7 +588,7 @@ Related Options | ||
| 593 | 588 | ||
| 594 | - :samp:`auto`: Automatically determine whether the specified | 589 | - :samp:`auto`: Automatically determine whether the specified |
| 595 | password is a properly encoded Unicode (UTF-8) string, and | 590 | password is a properly encoded Unicode (UTF-8) string, and |
| 596 | - transcode it as required by the PDF spec based on the type | 591 | + transcode it as required by the PDF spec based on the type of |
| 597 | encryption being applied. On Windows starting with version 8.4.0, | 592 | encryption being applied. On Windows starting with version 8.4.0, |
| 598 | and on almost all other modern platforms, incoming passwords will | 593 | and on almost all other modern platforms, incoming passwords will |
| 599 | be properly encoded in UTF-8, so this is almost always what you | 594 | be properly encoded in UTF-8, so this is almost always what you |
| @@ -648,7 +643,7 @@ Related Options | @@ -648,7 +643,7 @@ Related Options | ||
| 648 | Tells qpdf to ignore any cross-reference streams, falling back to | 643 | Tells qpdf to ignore any cross-reference streams, falling back to |
| 649 | any embedded cross-reference tables or triggering document | 644 | any embedded cross-reference tables or triggering document |
| 650 | recovery. Ordinarily, qpdf reads cross-reference streams when they | 645 | recovery. Ordinarily, qpdf reads cross-reference streams when they |
| 651 | - are present in a PDF file. If this option is specified, specified, | 646 | + are present in a PDF file. If this option is specified, |
| 652 | qpdf will ignore any cross-reference streams for hybrid PDF files. | 647 | qpdf will ignore any cross-reference streams for hybrid PDF files. |
| 653 | The purpose of hybrid files is to make some content available to | 648 | The purpose of hybrid files is to make some content available to |
| 654 | viewers that are not aware of cross-reference streams. It is almost | 649 | viewers that are not aware of cross-reference streams. It is almost |
| @@ -669,7 +664,7 @@ PDF Transformation | @@ -669,7 +664,7 @@ PDF Transformation | ||
| 669 | 664 | ||
| 670 | The options discussed in this section tell qpdf to apply | 665 | The options discussed in this section tell qpdf to apply |
| 671 | transformations that change the structure of a PDF file without | 666 | transformations that change the structure of a PDF file without |
| 672 | -changing the content. Examples include creating linearized | 667 | +changing its content. Examples include creating linearized |
| 673 | (web-optimized) files, adding or removing encryption, restructuring | 668 | (web-optimized) files, adding or removing encryption, restructuring |
| 674 | files for older viewers, and rewriting files for human inspection, | 669 | files for older viewers, and rewriting files for human inspection, |
| 675 | among others. See also :ref:`modification-options`. | 670 | among others. See also :ref:`modification-options`. |
| @@ -690,7 +685,7 @@ Related Options | @@ -690,7 +685,7 @@ Related Options | ||
| 690 | important cross-reference information typically appears at the end | 685 | important cross-reference information typically appears at the end |
| 691 | of the file. | 686 | of the file. |
| 692 | 687 | ||
| 693 | -.. qpdf:option:: --encrypt user owner key-length [ options ] -- | 688 | +.. qpdf:option:: --encrypt user-password owner-password key-length [ options ] -- |
| 694 | 689 | ||
| 695 | .. help: start encryption options | 690 | .. help: start encryption options |
| 696 | 691 | ||
| @@ -735,7 +730,7 @@ Related Options | @@ -735,7 +730,7 @@ Related Options | ||
| 735 | half of ``/ID`` from the file since this is part of the encryption | 730 | half of ``/ID`` from the file since this is part of the encryption |
| 736 | parameters. This option can be useful if you need to decrypt a file | 731 | parameters. This option can be useful if you need to decrypt a file |
| 737 | to make manual changes to it or to change it outside of qpdf, and | 732 | to make manual changes to it or to change it outside of qpdf, and |
| 738 | - then you want to restore the original encryption on the file | 733 | + then want to restore the original encryption on the file |
| 739 | without having to manual specify all the individual settings. See | 734 | without having to manual specify all the individual settings. See |
| 740 | also :qpdf:ref:`--decrypt`. | 735 | also :qpdf:ref:`--decrypt`. |
| 741 | 736 | ||
| @@ -744,10 +739,10 @@ Related Options | @@ -744,10 +739,10 @@ Related Options | ||
| 744 | .. help: supply password for --copy-encryption | 739 | .. help: supply password for --copy-encryption |
| 745 | 740 | ||
| 746 | If the file named in --copy-encryption requires a password, use | 741 | If the file named in --copy-encryption requires a password, use |
| 747 | - this option to specify the password. | 742 | + this option to supply the password. |
| 748 | 743 | ||
| 749 | If the file specified with :qpdf:ref:`--copy-encryption` | 744 | If the file specified with :qpdf:ref:`--copy-encryption` |
| 750 | - requires a password, specify the password using this option. This | 745 | + requires a password, supply the password using this option. This |
| 751 | option is necessary because the :qpdf:ref:`--password` option | 746 | option is necessary because the :qpdf:ref:`--password` option |
| 752 | applies to the input file, not the file from which encryption is | 747 | applies to the input file, not the file from which encryption is |
| 753 | being copied. | 748 | being copied. |
| @@ -806,7 +801,7 @@ Related Options | @@ -806,7 +801,7 @@ Related Options | ||
| 806 | 801 | ||
| 807 | .. qpdf:option:: --no-original-object-ids | 802 | .. qpdf:option:: --no-original-object-ids |
| 808 | 803 | ||
| 809 | - .. help: omit original object ID in qdf | 804 | + .. help: omit original object IDs in qdf |
| 810 | 805 | ||
| 811 | Omit comments in a QDF file indicating the object ID an object | 806 | Omit comments in a QDF file indicating the object ID an object |
| 812 | had in the original file. | 807 | had in the original file. |
| @@ -877,7 +872,7 @@ Related Options | @@ -877,7 +872,7 @@ Related Options | ||
| 877 | These are left untouched regardless of the option. Future versions | 872 | These are left untouched regardless of the option. Future versions |
| 878 | of qpdf may support additional filters. | 873 | of qpdf may support additional filters. |
| 879 | 874 | ||
| 880 | - Because default value is ``generalized``, by default, when a stream | 875 | + Because the default value is ``generalized``, by default, when a stream |
| 881 | is encoded using non-lossy filters that qpdf understands and is not | 876 | is encoded using non-lossy filters that qpdf understands and is not |
| 882 | already compressed using a good compression scheme, qpdf will | 877 | already compressed using a good compression scheme, qpdf will |
| 883 | uncompress the stream. If ``--compress-streams=y`` is also in | 878 | uncompress the stream. If ``--compress-streams=y`` is also in |
| @@ -906,7 +901,7 @@ Related Options | @@ -906,7 +901,7 @@ Related Options | ||
| 906 | 901 | ||
| 907 | Controls transformation of stream data. This option predates the | 902 | Controls transformation of stream data. This option predates the |
| 908 | :qpdf:ref:`--compress-streams` and :qpdf:ref:`--decode-level` | 903 | :qpdf:ref:`--compress-streams` and :qpdf:ref:`--decode-level` |
| 909 | - options. Those options can be used to achieve the same affect with | 904 | + options. Those options can be used to achieve the same effect with |
| 910 | more control. The value of :samp:`{parameter}` may be one of the | 905 | more control. The value of :samp:`{parameter}` may be one of the |
| 911 | following: | 906 | following: |
| 912 | 907 | ||
| @@ -1016,7 +1011,7 @@ Related Options | @@ -1016,7 +1011,7 @@ Related Options | ||
| 1016 | Object streams, also known as compressed objects, were introduced | 1011 | Object streams, also known as compressed objects, were introduced |
| 1017 | into the PDF specification at version 1.5 around 2003. Some ancient | 1012 | into the PDF specification at version 1.5 around 2003. Some ancient |
| 1018 | PDF viewers may not support files with object streams. qpdf can be | 1013 | PDF viewers may not support files with object streams. qpdf can be |
| 1019 | - used to transform files with object streams to files without object | 1014 | + used to transform files with object streams into files without object |
| 1020 | streams or vice versa. | 1015 | streams or vice versa. |
| 1021 | 1016 | ||
| 1022 | In :samp:`preserve` mode, the relationship to objects and the | 1017 | In :samp:`preserve` mode, the relationship to objects and the |
| @@ -1025,7 +1020,7 @@ Related Options | @@ -1025,7 +1020,7 @@ Related Options | ||
| 1025 | :samp:`disable` mode, all objects are written as regular, | 1020 | :samp:`disable` mode, all objects are written as regular, |
| 1026 | uncompressed objects. The resulting file should be structurally | 1021 | uncompressed objects. The resulting file should be structurally |
| 1027 | readable by older PDF viewers, though there is still a chance that | 1022 | readable by older PDF viewers, though there is still a chance that |
| 1028 | - the file may contain other content that the older reader can't | 1023 | + the file may contain other content that some older readers can't |
| 1029 | support. In :samp:`generate` mode, qpdf will create its own object | 1024 | support. In :samp:`generate` mode, qpdf will create its own object |
| 1030 | streams. This will usually result in more compact PDF files. In | 1025 | streams. This will usually result in more compact PDF files. In |
| 1031 | this mode, qpdf will also make sure the PDF version number in the | 1026 | this mode, qpdf will also make sure the PDF version number in the |
| @@ -1040,8 +1035,9 @@ Related Options | @@ -1040,8 +1035,9 @@ Related Options | ||
| 1040 | Tells qpdf to preserve objects that are not referenced when writing | 1035 | Tells qpdf to preserve objects that are not referenced when writing |
| 1041 | the file. Ordinarily any object that is not referenced in a | 1036 | the file. Ordinarily any object that is not referenced in a |
| 1042 | traversal of the document from the trailer dictionary will be | 1037 | traversal of the document from the trailer dictionary will be |
| 1043 | - discarded. This may be useful in working with some damaged files or | ||
| 1044 | - inspecting files with known unreferenced objects. | 1038 | + discarded. Disabling this default behavior may be useful in working |
| 1039 | + with some damaged files or inspecting files with known unreferenced | ||
| 1040 | + objects. | ||
| 1045 | 1041 | ||
| 1046 | This flag is ignored for linearized files and has the effect of | 1042 | This flag is ignored for linearized files and has the effect of |
| 1047 | causing objects in the new file to be written in order by object ID | 1043 | causing objects in the new file to be written in order by object ID |
| @@ -1077,14 +1073,14 @@ Related Options | @@ -1077,14 +1073,14 @@ Related Options | ||
| 1077 | will attempt to remove unreferenced resources. Usually this means | 1073 | will attempt to remove unreferenced resources. Usually this means |
| 1078 | you get the slower splitting speed only when it's actually going to | 1074 | you get the slower splitting speed only when it's actually going to |
| 1079 | create smaller files. You can suppress removal of unreferenced | 1075 | create smaller files. You can suppress removal of unreferenced |
| 1080 | - resources altogether by specifying ``no`` or force it to do the | 1076 | + resources altogether by specifying ``no`` or force qpdf to do the |
| 1081 | full algorithm by specifying ``yes``. | 1077 | full algorithm by specifying ``yes``. |
| 1082 | 1078 | ||
| 1083 | Other than cases in which you don't care about file size and care a | 1079 | Other than cases in which you don't care about file size and care a |
| 1084 | lot about runtime, there are few reasons to use this option, | 1080 | lot about runtime, there are few reasons to use this option, |
| 1085 | especially now that ``auto`` mode is supported. One reason to use | 1081 | especially now that ``auto`` mode is supported. One reason to use |
| 1086 | this is if you suspect that qpdf is removing resources it shouldn't | 1082 | this is if you suspect that qpdf is removing resources it shouldn't |
| 1087 | - be removing. If you encounter that case, please report it as bug at | 1083 | + be removing. If you encounter such a case, please report it as a bug at |
| 1088 | https://github.com/qpdf/qpdf/issues/. | 1084 | https://github.com/qpdf/qpdf/issues/. |
| 1089 | 1085 | ||
| 1090 | .. qpdf:option:: --preserve-unreferenced-resources | 1086 | .. qpdf:option:: --preserve-unreferenced-resources |
| @@ -1126,7 +1122,7 @@ Related Options | @@ -1126,7 +1122,7 @@ Related Options | ||
| 1126 | option causes qpdf to combine them into a single stream. Use of | 1122 | option causes qpdf to combine them into a single stream. Use of |
| 1127 | this option is never necessary for ordinary usage, but it can help | 1123 | this option is never necessary for ordinary usage, but it can help |
| 1128 | when working with some files in some cases. For example, this can | 1124 | when working with some files in some cases. For example, this can |
| 1129 | - also be combined with QDF mode or content normalization to make it | 1125 | + be combined with QDF mode or content normalization to make it |
| 1130 | easier to look at all of a page's contents at once. It is common | 1126 | easier to look at all of a page's contents at once. It is common |
| 1131 | for PDF writers to create multiple content streams for a variety of | 1127 | for PDF writers to create multiple content streams for a variety of |
| 1132 | reasons such as making it easier to modify page contents and | 1128 | reasons such as making it easier to modify page contents and |
| @@ -1251,7 +1247,7 @@ section describes the syntax of a page range. | @@ -1251,7 +1247,7 @@ section describes the syntax of a page range. | ||
| 1251 | than the second number, it is the range of pages in reverse. | 1247 | than the second number, it is the range of pages in reverse. |
| 1252 | 1248 | ||
| 1253 | - The range may be appended with ``:odd`` or ``:even`` to select only | 1249 | - The range may be appended with ``:odd`` or ``:even`` to select only |
| 1254 | - pages from the resulting in range in odd or even positions. In this | 1250 | + pages from the resulting range in odd or even positions. In this |
| 1255 | case, odd and even refer to positions in the final range, not | 1251 | case, odd and even refer to positions in the final range, not |
| 1256 | whether the original page number is odd or even. | 1252 | whether the original page number is odd or even. |
| 1257 | 1253 | ||
| @@ -1329,7 +1325,7 @@ Related Options | @@ -1329,7 +1325,7 @@ Related Options | ||
| 1329 | See also :qpdf:ref:`--split-pages`, :qpdf:ref:`--collate`, | 1325 | See also :qpdf:ref:`--split-pages`, :qpdf:ref:`--collate`, |
| 1330 | :ref:`page-ranges`. | 1326 | :ref:`page-ranges`. |
| 1331 | 1327 | ||
| 1332 | -.. qpdf:option:: --collate=n | 1328 | +.. qpdf:option:: --collate[=n] |
| 1333 | 1329 | ||
| 1334 | .. help: collate with --pages | 1330 | .. help: collate with --pages |
| 1335 | 1331 | ||
| @@ -1344,7 +1340,7 @@ Related Options | @@ -1344,7 +1340,7 @@ Related Options | ||
| 1344 | 1340 | ||
| 1345 | Please see :ref:`page-selection` for additional details. | 1341 | Please see :ref:`page-selection` for additional details. |
| 1346 | 1342 | ||
| 1347 | -.. qpdf:option:: --split-pages=[n] | 1343 | +.. qpdf:option:: --split-pages[=n] |
| 1348 | 1344 | ||
| 1349 | .. help: write pages to separate files | 1345 | .. help: write pages to separate files |
| 1350 | 1346 | ||
| @@ -1541,7 +1537,7 @@ Related Options | @@ -1541,7 +1537,7 @@ Related Options | ||
| 1541 | - ``qpdf in.pdf out.pdf --rotate=+180``: rotate all pages by 180 | 1537 | - ``qpdf in.pdf out.pdf --rotate=+180``: rotate all pages by 180 |
| 1542 | degrees | 1538 | degrees |
| 1543 | 1539 | ||
| 1544 | - - ``qpdf in.pdf out.pdf --rotate=0``: force each page to displayed | 1540 | + - ``qpdf in.pdf out.pdf --rotate=0``: force each page to be displayed |
| 1545 | in its natural orientation, which would undo the effect of any | 1541 | in its natural orientation, which would undo the effect of any |
| 1546 | rotations previously applied in page metadata. | 1542 | rotations previously applied in page metadata. |
| 1547 | 1543 | ||
| @@ -1898,7 +1894,7 @@ Related Options | @@ -1898,7 +1894,7 @@ Related Options | ||
| 1898 | encryption. | 1894 | encryption. |
| 1899 | 1895 | ||
| 1900 | Enable/disable extraction of text for accessibility to visually | 1896 | Enable/disable extraction of text for accessibility to visually |
| 1901 | - impaired. The qpdf library disregards this field when AES is used | 1897 | + impaired users. The qpdf library disregards this field when AES is used |
| 1902 | with 128-bit encryption or when 256-bit encryption is used. You | 1898 | with 128-bit encryption or when 256-bit encryption is used. You |
| 1903 | should never disable accessibility unless you are explicitly doing | 1899 | should never disable accessibility unless you are explicitly doing |
| 1904 | so for creating test files. The PDF spec says that conforming | 1900 | so for creating test files. The PDF spec says that conforming |
| @@ -2056,7 +2052,7 @@ Related Options | @@ -2056,7 +2052,7 @@ Related Options | ||
| 2056 | full: allow full printing (the default) | 2052 | full: allow full printing (the default) |
| 2057 | 2053 | ||
| 2058 | Control what kind of printing is allowed. For 40-bit encryption, | 2054 | Control what kind of printing is allowed. For 40-bit encryption, |
| 2059 | - :samp:`{print-opt}` may be ``y`` or ``n`` and enable or disable all | 2055 | + :samp:`{print-opt}` may only be ``y`` or ``n`` and enables or disables all |
| 2060 | printing. For 128-bit and 256-bit encryption, :samp:`{print-opt}` | 2056 | printing. For 128-bit and 256-bit encryption, :samp:`{print-opt}` |
| 2061 | may have the following values: | 2057 | may have the following values: |
| 2062 | 2058 | ||
| @@ -2167,7 +2163,7 @@ Page Selection | @@ -2167,7 +2163,7 @@ Page Selection | ||
| 2167 | filename [ --password=password ] [ page-range ] | 2163 | filename [ --password=password ] [ page-range ] |
| 2168 | 2164 | ||
| 2169 | Document-level information, such as outlines, tags, etc., is taken | 2165 | Document-level information, such as outlines, tags, etc., is taken |
| 2170 | - from in.pdf is preserved in out.pdf. You can use --empty in place | 2166 | + from in.pdf and is preserved in out.pdf. You can use --empty in place |
| 2171 | of an input file to start from an empty file and just copy pages | 2167 | of an input file to start from an empty file and just copy pages |
| 2172 | equally from all files. You can use "." as a shorthand for the | 2168 | equally from all files. You can use "." as a shorthand for the |
| 2173 | primary input file (if not --empty). In the above example, "." | 2169 | primary input file (if not --empty). In the above example, "." |
| @@ -2604,9 +2600,8 @@ Related Options | @@ -2604,9 +2600,8 @@ Related Options | ||
| 2604 | attachment from the embedded files table but also clears out the | 2600 | attachment from the embedded files table but also clears out the |
| 2605 | file specification to ensure that the attachment is actually not | 2601 | file specification to ensure that the attachment is actually not |
| 2606 | present in the output file. That means that any potential internal | 2602 | present in the output file. That means that any potential internal |
| 2607 | - links to the attachment will be broken. This option may be | ||
| 2608 | - specified multiple times. Run with :qpdf:ref:`--verbose` to see | ||
| 2609 | - status of the removal. Use :qpdf:ref:`--list-attachments` to find | 2603 | + links to the attachment will be broken. Run with :qpdf:ref:`--verbose` to |
| 2604 | + see status of the removal. Use :qpdf:ref:`--list-attachments` to find | ||
| 2610 | the attachment key. This option may be repeated to remove multiple | 2605 | the attachment key. This option may be repeated to remove multiple |
| 2611 | attachments. | 2606 | attachments. |
| 2612 | 2607 | ||
| @@ -2914,7 +2909,7 @@ Related Options | @@ -2914,7 +2909,7 @@ Related Options | ||
| 2914 | PDF file. It merely checks that the PDF file is syntactically | 2909 | PDF file. It merely checks that the PDF file is syntactically |
| 2915 | valid. See also qpdf --help=exit-status. | 2910 | valid. See also qpdf --help=exit-status. |
| 2916 | 2911 | ||
| 2917 | - Check the file's structure and well as encryption, linearization, | 2912 | + Check the file's structure as well as encryption, linearization, |
| 2918 | and encoding of stream data, and write information about the file | 2913 | and encoding of stream data, and write information about the file |
| 2919 | to standard output. An exit status of ``0`` indicates syntactic | 2914 | to standard output. An exit status of ``0`` indicates syntactic |
| 2920 | correctness of the PDF file. Note that :samp:`--check` writes | 2915 | correctness of the PDF file. Note that :samp:`--check` writes |
| @@ -3278,12 +3273,12 @@ At the library API level, all methods that perform encryption and | @@ -3278,12 +3273,12 @@ At the library API level, all methods that perform encryption and | ||
| 3278 | decryption interpret passwords as strings of bytes. It is up to the | 3273 | decryption interpret passwords as strings of bytes. It is up to the |
| 3279 | caller to ensure that they are appropriately encoded. Starting with qpdf | 3274 | caller to ensure that they are appropriately encoded. Starting with qpdf |
| 3280 | version 8.4.0, qpdf will attempt to make this easier for you when | 3275 | version 8.4.0, qpdf will attempt to make this easier for you when |
| 3281 | -interact with qpdf via its command line interface. The PDF specification | 3276 | +interacting with qpdf via its command line interface. The PDF specification |
| 3282 | requires passwords used to encrypt files with 40-bit or 128-bit | 3277 | requires passwords used to encrypt files with 40-bit or 128-bit |
| 3283 | encryption to be encoded with PDF Doc encoding. This encoding is a | 3278 | encryption to be encoded with PDF Doc encoding. This encoding is a |
| 3284 | single-byte encoding that supports ISO-Latin-1 and a handful of other | 3279 | single-byte encoding that supports ISO-Latin-1 and a handful of other |
| 3285 | commonly used characters. It has a large overlap with Windows ANSI but | 3280 | commonly used characters. It has a large overlap with Windows ANSI but |
| 3286 | -is not exactly the same. There is generally not a way to provide PDF Doc | 3281 | +is not exactly the same. There is generally no way to provide PDF Doc |
| 3287 | encoded strings on the command line. As such, qpdf versions prior to | 3282 | encoded strings on the command line. As such, qpdf versions prior to |
| 3288 | 8.4.0 would often create PDF files that couldn't be opened with other | 3283 | 8.4.0 would often create PDF files that couldn't be opened with other |
| 3289 | software when given a password with non-ASCII characters to encrypt a | 3284 | software when given a password with non-ASCII characters to encrypt a |
| @@ -3368,7 +3363,7 @@ strings of bytes. | @@ -3368,7 +3363,7 @@ strings of bytes. | ||
| 3368 | 3363 | ||
| 3369 | Please note that the :qpdf:ref:`--password-is-hex-key` option is | 3364 | Please note that the :qpdf:ref:`--password-is-hex-key` option is |
| 3370 | unrelated to all this. That flag bypasses the normal process of going | 3365 | unrelated to all this. That flag bypasses the normal process of going |
| 3371 | -from password to encryption string entirely, allowing the raw | 3366 | +from password to encryption key entirely, allowing the raw |
| 3372 | encryption key to be specified directly. That behavior is useful for | 3367 | encryption key to be specified directly. That behavior is useful for |
| 3373 | forensic purposes or for brute-force recovery of files with unknown | 3368 | forensic purposes or for brute-force recovery of files with unknown |
| 3374 | passwords and has nothing to do with the document's actual passwords. | 3369 | passwords and has nothing to do with the document's actual passwords. |