Commit c9d54fda518db58f7f610c6af5a69e316c07a52d
1 parent
426b4ce8
Remove ref. from documentation references
Showing
12 changed files
with
118 additions
and
118 deletions
manual/cli.rst
| 1 | -.. _ref.using: | 1 | +.. _using: |
| 2 | 2 | ||
| 3 | Running QPDF | 3 | Running QPDF |
| 4 | ============ | 4 | ============ |
| @@ -6,7 +6,7 @@ Running QPDF | @@ -6,7 +6,7 @@ Running QPDF | ||
| 6 | This chapter describes how to run the qpdf program from the command | 6 | This chapter describes how to run the qpdf program from the command |
| 7 | line. | 7 | line. |
| 8 | 8 | ||
| 9 | -.. _ref.invocation: | 9 | +.. _invocation: |
| 10 | 10 | ||
| 11 | Basic Invocation | 11 | Basic Invocation |
| 12 | ---------------- | 12 | ---------------- |
| @@ -26,7 +26,7 @@ place of :samp:`infilename`, the parameter | @@ -26,7 +26,7 @@ place of :samp:`infilename`, the parameter | ||
| 26 | :samp:`--empty` may be specified. This causes qpdf to | 26 | :samp:`--empty` may be specified. This causes qpdf to |
| 27 | use a dummy input file that contains zero pages. The only normal use | 27 | use a dummy input file that contains zero pages. The only normal use |
| 28 | case for using :samp:`--empty` would be if you were | 28 | case for using :samp:`--empty` would be if you were |
| 29 | -going to add pages from another source, as discussed in :ref:`ref.page-selection`. | 29 | +going to add pages from another source, as discussed in :ref:`page-selection`. |
| 30 | 30 | ||
| 31 | If :samp:`@filename` appears as a word anywhere in the | 31 | If :samp:`@filename` appears as a word anywhere in the |
| 32 | command-line, it will be read line by line, and each line will be | 32 | command-line, it will be read line by line, and each line will be |
| @@ -53,7 +53,7 @@ If you do this, qpdf will tell you about the | @@ -53,7 +53,7 @@ If you do this, qpdf will tell you about the | ||
| 53 | Most options require an output file, but some testing or inspection | 53 | Most options require an output file, but some testing or inspection |
| 54 | commands do not. These are specifically noted. | 54 | commands do not. These are specifically noted. |
| 55 | 55 | ||
| 56 | -.. _ref.exit-status: | 56 | +.. _exit-status: |
| 57 | 57 | ||
| 58 | Exit Status | 58 | Exit Status |
| 59 | ~~~~~~~~~~~ | 59 | ~~~~~~~~~~~ |
| @@ -80,7 +80,7 @@ Note that :command:`qpdf` never exists with status ``1``. | @@ -80,7 +80,7 @@ Note that :command:`qpdf` never exists with status ``1``. | ||
| 80 | If you get an exit status of ``1``, it was something else, like the | 80 | If you get an exit status of ``1``, it was something else, like the |
| 81 | shell not being able to find or execute :command:`qpdf`. | 81 | shell not being able to find or execute :command:`qpdf`. |
| 82 | 82 | ||
| 83 | -.. _ref.shell-completion: | 83 | +.. _shell-completion: |
| 84 | 84 | ||
| 85 | Shell Completion | 85 | Shell Completion |
| 86 | ---------------- | 86 | ---------------- |
| @@ -100,7 +100,7 @@ to use completion with copy of qpdf that is built from source. You can | @@ -100,7 +100,7 @@ to use completion with copy of qpdf that is built from source. You can | ||
| 100 | specify a full path to the qpdf you want to use for completion in the | 100 | specify a full path to the qpdf you want to use for completion in the |
| 101 | ``QPDF_EXECUTABLE`` environment variable. | 101 | ``QPDF_EXECUTABLE`` environment variable. |
| 102 | 102 | ||
| 103 | -.. _ref.basic-options: | 103 | +.. _basic-options: |
| 104 | 104 | ||
| 105 | Basic Options | 105 | Basic Options |
| 106 | ------------- | 106 | ------------- |
| @@ -119,7 +119,7 @@ needed transformations. | @@ -119,7 +119,7 @@ needed transformations. | ||
| 119 | 119 | ||
| 120 | :samp:`--show-crypto` | 120 | :samp:`--show-crypto` |
| 121 | Show a list of available crypto providers, each on a line by itself. | 121 | Show a list of available crypto providers, each on a line by itself. |
| 122 | - The default provider is always listed first. See :ref:`ref.crypto` for more information about crypto | 122 | + The default provider is always listed first. See :ref:`crypto` for more information about crypto |
| 123 | providers. | 123 | providers. |
| 124 | 124 | ||
| 125 | :samp:`--completion-bash` | 125 | :samp:`--completion-bash` |
| @@ -225,10 +225,10 @@ needed transformations. | @@ -225,10 +225,10 @@ needed transformations. | ||
| 225 | Starting with version 10.4, qpdf issues warnings when requested to | 225 | Starting with version 10.4, qpdf issues warnings when requested to |
| 226 | create files using RC4 encryption. This option suppresses those | 226 | create files using RC4 encryption. This option suppresses those |
| 227 | warnings. In future versions of qpdf, qpdf will refuse to create | 227 | warnings. In future versions of qpdf, qpdf will refuse to create |
| 228 | - files with weak cryptography when this flag is not given. See :ref:`ref.weak-crypto` for additional details. | 228 | + files with weak cryptography when this flag is not given. See :ref:`weak-crypto` for additional details. |
| 229 | 229 | ||
| 230 | :samp:`--encrypt options --` | 230 | :samp:`--encrypt options --` |
| 231 | - Causes generation an encrypted output file. Please see :ref:`ref.encryption-options` for details on how to specify | 231 | + Causes generation an encrypted output file. Please see :ref:`encryption-options` for details on how to specify |
| 232 | encryption parameters. | 232 | encryption parameters. |
| 233 | 233 | ||
| 234 | :samp:`--decrypt` | 234 | :samp:`--decrypt` |
| @@ -260,7 +260,7 @@ needed transformations. | @@ -260,7 +260,7 @@ needed transformations. | ||
| 260 | Ordinarily, qpdf attempts to automatically compensate for passwords | 260 | Ordinarily, qpdf attempts to automatically compensate for passwords |
| 261 | specified in the wrong character encoding. This option suppresses | 261 | specified in the wrong character encoding. This option suppresses |
| 262 | that behavior. Under normal conditions, there are no reasons to use | 262 | that behavior. Under normal conditions, there are no reasons to use |
| 263 | - this option. See :ref:`ref.unicode-passwords` for a | 263 | + this option. See :ref:`unicode-passwords` for a |
| 264 | discussion | 264 | discussion |
| 265 | 265 | ||
| 266 | :samp:`--password-mode={mode}` | 266 | :samp:`--password-mode={mode}` |
| @@ -271,7 +271,7 @@ needed transformations. | @@ -271,7 +271,7 @@ needed transformations. | ||
| 271 | :samp:`hex-bytes` mode also applies to passwords | 271 | :samp:`hex-bytes` mode also applies to passwords |
| 272 | specified for reading files. For additional discussion of the | 272 | specified for reading files. For additional discussion of the |
| 273 | supported password modes and when you might want to use them, see | 273 | supported password modes and when you might want to use them, see |
| 274 | - :ref:`ref.unicode-passwords`. The following modes | 274 | + :ref:`unicode-passwords`. The following modes |
| 275 | are supported: | 275 | are supported: |
| 276 | 276 | ||
| 277 | - :samp:`auto`: Automatically determine whether the | 277 | - :samp:`auto`: Automatically determine whether the |
| @@ -311,7 +311,7 @@ needed transformations. | @@ -311,7 +311,7 @@ needed transformations. | ||
| 311 | :samp:`--rotate=[+|-]angle[:page-range]` | 311 | :samp:`--rotate=[+|-]angle[:page-range]` |
| 312 | Apply rotation to specified pages. The | 312 | Apply rotation to specified pages. The |
| 313 | :samp:`page-range` portion of the option value has | 313 | :samp:`page-range` portion of the option value has |
| 314 | - the same format as page ranges in :ref:`ref.page-selection`. If the page range is omitted, the | 314 | + the same format as page ranges in :ref:`page-selection`. If the page range is omitted, the |
| 315 | rotation is applied to all pages. The :samp:`angle` | 315 | rotation is applied to all pages. The :samp:`angle` |
| 316 | portion of the parameter may be either 0, 90, 180, or 270. If | 316 | portion of the parameter may be either 0, 90, 180, or 270. If |
| 317 | preceded by :samp:`+` or :samp:`-`, | 317 | preceded by :samp:`+` or :samp:`-`, |
| @@ -358,14 +358,14 @@ needed transformations. | @@ -358,14 +358,14 @@ needed transformations. | ||
| 358 | :samp:`--keep-files-open` for details. | 358 | :samp:`--keep-files-open` for details. |
| 359 | 359 | ||
| 360 | :samp:`--pages options --` | 360 | :samp:`--pages options --` |
| 361 | - Select specific pages from one or more input files. See :ref:`ref.page-selection` for details on how to do | 361 | + Select specific pages from one or more input files. See :ref:`page-selection` for details on how to do |
| 362 | page selection (splitting and merging). | 362 | page selection (splitting and merging). |
| 363 | 363 | ||
| 364 | :samp:`--collate={n}` | 364 | :samp:`--collate={n}` |
| 365 | When specified, collate rather than concatenate pages from files | 365 | When specified, collate rather than concatenate pages from files |
| 366 | specified with :samp:`--pages`. With a numeric | 366 | specified with :samp:`--pages`. With a numeric |
| 367 | argument, collate in groups of :samp:`{n}`. | 367 | argument, collate in groups of :samp:`{n}`. |
| 368 | - The default is 1. See :ref:`ref.page-selection` for additional details. | 368 | + The default is 1. See :ref:`page-selection` for additional details. |
| 369 | 369 | ||
| 370 | :samp:`--flatten-rotation` | 370 | :samp:`--flatten-rotation` |
| 371 | For each page that is rotated using the ``/Rotate`` key in the page's | 371 | For each page that is rotated using the ``/Rotate`` key in the page's |
| @@ -418,11 +418,11 @@ needed transformations. | @@ -418,11 +418,11 @@ needed transformations. | ||
| 418 | require the global data. | 418 | require the global data. |
| 419 | 419 | ||
| 420 | :samp:`--overlay options --` | 420 | :samp:`--overlay options --` |
| 421 | - Overlay pages from another file onto the output pages. See :ref:`ref.overlay-underlay` for details on | 421 | + Overlay pages from another file onto the output pages. See :ref:`overlay-underlay` for details on |
| 422 | overlay/underlay. | 422 | overlay/underlay. |
| 423 | 423 | ||
| 424 | :samp:`--underlay options --` | 424 | :samp:`--underlay options --` |
| 425 | - Overlay pages from another file onto the output pages. See :ref:`ref.overlay-underlay` for details on | 425 | + Overlay pages from another file onto the output pages. See :ref:`overlay-underlay` for details on |
| 426 | overlay/underlay. | 426 | overlay/underlay. |
| 427 | 427 | ||
| 428 | Password-protected files may be opened by specifying a password. By | 428 | Password-protected files may be opened by specifying a password. By |
| @@ -442,13 +442,13 @@ Prior to 8.4.0, in the case of passwords that contain characters that | @@ -442,13 +442,13 @@ Prior to 8.4.0, in the case of passwords that contain characters that | ||
| 442 | fall outside of 7-bit US-ASCII, qpdf left the burden of supplying | 442 | fall outside of 7-bit US-ASCII, qpdf left the burden of supplying |
| 443 | properly encoded encryption and decryption passwords to the user. | 443 | properly encoded encryption and decryption passwords to the user. |
| 444 | Starting in qpdf 8.4.0, qpdf does this automatically in most cases. For | 444 | Starting in qpdf 8.4.0, qpdf does this automatically in most cases. For |
| 445 | -an in-depth discussion, please see :ref:`ref.unicode-passwords`. Previous versions of this manual | 445 | +an in-depth discussion, please see :ref:`unicode-passwords`. Previous versions of this manual |
| 446 | described workarounds using the :command:`iconv` command. | 446 | described workarounds using the :command:`iconv` command. |
| 447 | Such workarounds are no longer required or recommended with qpdf 8.4.0. | 447 | Such workarounds are no longer required or recommended with qpdf 8.4.0. |
| 448 | However, for backward compatibility, qpdf attempts to detect those | 448 | However, for backward compatibility, qpdf attempts to detect those |
| 449 | workarounds and do the right thing in most cases. | 449 | workarounds and do the right thing in most cases. |
| 450 | 450 | ||
| 451 | -.. _ref.encryption-options: | 451 | +.. _encryption-options: |
| 452 | 452 | ||
| 453 | Encryption Options | 453 | Encryption Options |
| 454 | ------------------ | 454 | ------------------ |
| @@ -610,7 +610,7 @@ with the following exceptions: | @@ -610,7 +610,7 @@ with the following exceptions: | ||
| 610 | 610 | ||
| 611 | The default for each permission option is to be fully permissive. | 611 | The default for each permission option is to be fully permissive. |
| 612 | 612 | ||
| 613 | -.. _ref.page-selection: | 613 | +.. _page-selection: |
| 614 | 614 | ||
| 615 | Page Selection Options | 615 | Page Selection Options |
| 616 | ---------------------- | 616 | ---------------------- |
| @@ -814,7 +814,7 @@ would create a file with two copies of the first page of the input, and | @@ -814,7 +814,7 @@ would create a file with two copies of the first page of the input, and | ||
| 814 | the two copies would share any objects in common. This includes fonts, | 814 | the two copies would share any objects in common. This includes fonts, |
| 815 | images, and anything else the page references. | 815 | images, and anything else the page references. |
| 816 | 816 | ||
| 817 | -.. _ref.overlay-underlay: | 817 | +.. _overlay-underlay: |
| 818 | 818 | ||
| 819 | Overlay and Underlay Options | 819 | Overlay and Underlay Options |
| 820 | ---------------------------- | 820 | ---------------------------- |
| @@ -849,7 +849,7 @@ between the :samp:`--overlay` or | @@ -849,7 +849,7 @@ between the :samp:`--overlay` or | ||
| 849 | overlay/underlay file is encrypted. | 849 | overlay/underlay file is encrypted. |
| 850 | 850 | ||
| 851 | - :samp:`--to=page-range`: a range of pages in the same | 851 | - :samp:`--to=page-range`: a range of pages in the same |
| 852 | - form at described in :ref:`ref.page-selection` | 852 | + form at described in :ref:`page-selection` |
| 853 | indicates which pages in the output should have the overlay/underlay | 853 | indicates which pages in the output should have the overlay/underlay |
| 854 | applied. If not specified, overlay/underlay are applied to all pages. | 854 | applied. If not specified, overlay/underlay are applied to all pages. |
| 855 | 855 | ||
| @@ -880,7 +880,7 @@ Here are some examples. | @@ -880,7 +880,7 @@ Here are some examples. | ||
| 880 | underlay page 2 of :file:`footer.pdf` on all even | 880 | underlay page 2 of :file:`footer.pdf` on all even |
| 881 | output pages. | 881 | output pages. |
| 882 | 882 | ||
| 883 | -.. _ref.attachments: | 883 | +.. _attachments: |
| 884 | 884 | ||
| 885 | Embedded Files/Attachments Options | 885 | Embedded Files/Attachments Options |
| 886 | ---------------------------------- | 886 | ---------------------------------- |
| @@ -975,7 +975,7 @@ timezone offset in the form :samp:`{-hh'mm'}` or | @@ -975,7 +975,7 @@ timezone offset in the form :samp:`{-hh'mm'}` or | ||
| 975 | :samp:`{+hh'mm'}`. Examples: | 975 | :samp:`{+hh'mm'}`. Examples: |
| 976 | ``D:20210207161528-05'00'``, ``D:20210207211528Z``. | 976 | ``D:20210207161528-05'00'``, ``D:20210207211528Z``. |
| 977 | 977 | ||
| 978 | -.. _ref.advanced-parsing: | 978 | +.. _advanced-parsing: |
| 979 | 979 | ||
| 980 | Advanced Parsing Options | 980 | Advanced Parsing Options |
| 981 | ------------------------ | 981 | ------------------------ |
| @@ -1011,7 +1011,7 @@ this feature is if you are testing creation of hybrid PDF files and wish | @@ -1011,7 +1011,7 @@ this feature is if you are testing creation of hybrid PDF files and wish | ||
| 1011 | to see how a PDF consumer that doesn't understand object and | 1011 | to see how a PDF consumer that doesn't understand object and |
| 1012 | cross-reference streams would interpret such a file. | 1012 | cross-reference streams would interpret such a file. |
| 1013 | 1013 | ||
| 1014 | -.. _ref.advanced-transformation: | 1014 | +.. _advanced-transformation: |
| 1015 | 1015 | ||
| 1016 | Advanced Transformation Options | 1016 | Advanced Transformation Options |
| 1017 | ------------------------------- | 1017 | ------------------------------- |
| @@ -1097,7 +1097,7 @@ following options are available: | @@ -1097,7 +1097,7 @@ following options are available: | ||
| 1097 | 1097 | ||
| 1098 | :samp:`--normalize-content=[yn]` | 1098 | :samp:`--normalize-content=[yn]` |
| 1099 | Enables or disables normalization of content streams. Content | 1099 | Enables or disables normalization of content streams. Content |
| 1100 | - normalization is enabled by default in QDF mode. Please see :ref:`ref.qdf` for additional discussion of QDF mode. | 1100 | + normalization is enabled by default in QDF mode. Please see :ref:`qdf` for additional discussion of QDF mode. |
| 1101 | 1101 | ||
| 1102 | :samp:`--object-streams={mode}` | 1102 | :samp:`--object-streams={mode}` |
| 1103 | Controls handling of object streams. The value of | 1103 | Controls handling of object streams. The value of |
| @@ -1304,7 +1304,7 @@ following options are available: | @@ -1304,7 +1304,7 @@ following options are available: | ||
| 1304 | Remove page labels from the output file. | 1304 | Remove page labels from the output file. |
| 1305 | 1305 | ||
| 1306 | :samp:`--qdf` | 1306 | :samp:`--qdf` |
| 1307 | - Turns on QDF mode. For additional information on QDF, please see :ref:`ref.qdf`. Note that :samp:`--linearize` | 1307 | + Turns on QDF mode. For additional information on QDF, please see :ref:`qdf`. Note that :samp:`--linearize` |
| 1308 | disables QDF mode. | 1308 | disables QDF mode. |
| 1309 | 1309 | ||
| 1310 | :samp:`--min-version={version}` | 1310 | :samp:`--min-version={version}` |
| @@ -1413,9 +1413,9 @@ documents are interspersed with comments that make it easier for the | @@ -1413,9 +1413,9 @@ documents are interspersed with comments that make it easier for the | ||
| 1413 | user to find things and also make it possible for | 1413 | user to find things and also make it possible for |
| 1414 | :command:`fix-qdf` to work properly. QDF mode is intended | 1414 | :command:`fix-qdf` to work properly. QDF mode is intended |
| 1415 | for people, mostly developers, who wish to inspect or modify PDF files | 1415 | for people, mostly developers, who wish to inspect or modify PDF files |
| 1416 | -in a text editor. For details, please see :ref:`ref.qdf`. | 1416 | +in a text editor. For details, please see :ref:`qdf`. |
| 1417 | 1417 | ||
| 1418 | -.. _ref.testing-options: | 1418 | +.. _testing-options: |
| 1419 | 1419 | ||
| 1420 | Testing, Inspection, and Debugging Options | 1420 | Testing, Inspection, and Debugging Options |
| 1421 | ------------------------------------------ | 1421 | ------------------------------------------ |
| @@ -1519,7 +1519,7 @@ given. The following options are available: | @@ -1519,7 +1519,7 @@ given. The following options are available: | ||
| 1519 | 1519 | ||
| 1520 | :samp:`--json` | 1520 | :samp:`--json` |
| 1521 | Generate a JSON representation of the file. This is described in | 1521 | Generate a JSON representation of the file. This is described in |
| 1522 | - depth in :ref:`ref.json` | 1522 | + depth in :ref:`json` |
| 1523 | 1523 | ||
| 1524 | :samp:`--json-help` | 1524 | :samp:`--json-help` |
| 1525 | Describe the format of the JSON output. | 1525 | Describe the format of the JSON output. |
| @@ -1571,7 +1571,7 @@ attempt to normalize the stream data as if it is a page content stream. | @@ -1571,7 +1571,7 @@ attempt to normalize the stream data as if it is a page content stream. | ||
| 1571 | This attempt will be made even if it is not a page content stream, in | 1571 | This attempt will be made even if it is not a page content stream, in |
| 1572 | which case it will produce unusable results. | 1572 | which case it will produce unusable results. |
| 1573 | 1573 | ||
| 1574 | -.. _ref.unicode-passwords: | 1574 | +.. _unicode-passwords: |
| 1575 | 1575 | ||
| 1576 | Unicode Passwords | 1576 | Unicode Passwords |
| 1577 | ----------------- | 1577 | ----------------- |
manual/design.rst
| 1 | -.. _ref.design: | 1 | +.. _design: |
| 2 | 2 | ||
| 3 | Design and Library Notes | 3 | Design and Library Notes |
| 4 | ======================== | 4 | ======================== |
| 5 | 5 | ||
| 6 | -.. _ref.design.intro: | 6 | +.. _design.intro: |
| 7 | 7 | ||
| 8 | Introduction | 8 | Introduction |
| 9 | ------------ | 9 | ------------ |
| @@ -33,7 +33,7 @@ This is by design as there seems to be a shortage of PDF validation | @@ -33,7 +33,7 @@ This is by design as there seems to be a shortage of PDF validation | ||
| 33 | tools out there. This was, in fact, one of the major motivations behind | 33 | tools out there. This was, in fact, one of the major motivations behind |
| 34 | the initial creation of qpdf. | 34 | the initial creation of qpdf. |
| 35 | 35 | ||
| 36 | -.. _ref.design-goals: | 36 | +.. _design-goals: |
| 37 | 37 | ||
| 38 | Design Goals | 38 | Design Goals |
| 39 | ------------ | 39 | ------------ |
| @@ -118,9 +118,9 @@ full details, please see the header files | @@ -118,9 +118,9 @@ full details, please see the header files | ||
| 118 | :file:`QPDF.hh` and | 118 | :file:`QPDF.hh` and |
| 119 | :file:`QPDFObjectHandle.hh`. There are also some | 119 | :file:`QPDFObjectHandle.hh`. There are also some |
| 120 | additional helper classes that provide higher level API functions for | 120 | additional helper classes that provide higher level API functions for |
| 121 | -certain document constructions. These are discussed in :ref:`ref.helper-classes`. | 121 | +certain document constructions. These are discussed in :ref:`helper-classes`. |
| 122 | 122 | ||
| 123 | -.. _ref.helper-classes: | 123 | +.. _helper-classes: |
| 124 | 124 | ||
| 125 | Helper Classes | 125 | Helper Classes |
| 126 | -------------- | 126 | -------------- |
| @@ -219,7 +219,7 @@ remain in those classes even as alternatives are provided in helper | @@ -219,7 +219,7 @@ remain in those classes even as alternatives are provided in helper | ||
| 219 | classes. Going forward, new higher level interfaces will be provided | 219 | classes. Going forward, new higher level interfaces will be provided |
| 220 | using helper classes. | 220 | using helper classes. |
| 221 | 221 | ||
| 222 | -.. _ref.implementation-notes: | 222 | +.. _implementation-notes: |
| 223 | 223 | ||
| 224 | Implementation Notes | 224 | Implementation Notes |
| 225 | -------------------- | 225 | -------------------- |
| @@ -321,7 +321,7 @@ file. | @@ -321,7 +321,7 @@ file. | ||
| 321 | As the client continues to request objects, the same process is | 321 | As the client continues to request objects, the same process is |
| 322 | followed for each new requested object. | 322 | followed for each new requested object. |
| 323 | 323 | ||
| 324 | -.. _ref.casting: | 324 | +.. _casting: |
| 325 | 325 | ||
| 326 | Casting Policy | 326 | Casting Policy |
| 327 | -------------- | 327 | -------------- |
| @@ -395,7 +395,7 @@ prevent this from being done. There are places in the code where | @@ -395,7 +395,7 @@ prevent this from being done. There are places in the code where | ||
| 395 | adequate testing to assert that it is safe and will remain safe in | 395 | adequate testing to assert that it is safe and will remain safe in |
| 396 | qpdf's code. | 396 | qpdf's code. |
| 397 | 397 | ||
| 398 | -.. _ref.encryption: | 398 | +.. _encryption: |
| 399 | 399 | ||
| 400 | Encryption | 400 | Encryption |
| 401 | ---------- | 401 | ---------- |
| @@ -467,7 +467,7 @@ created, even if the results are not useful to some readers. One use | @@ -467,7 +467,7 @@ created, even if the results are not useful to some readers. One use | ||
| 467 | case for this would be for testing a PDF reader to ensure that it | 467 | case for this would be for testing a PDF reader to ensure that it |
| 468 | handles odd configurations of input files. | 468 | handles odd configurations of input files. |
| 469 | 469 | ||
| 470 | -.. _ref.random-numbers: | 470 | +.. _random-numbers: |
| 471 | 471 | ||
| 472 | Random Number Generation | 472 | Random Number Generation |
| 473 | ------------------------ | 473 | ------------------------ |
| @@ -484,7 +484,7 @@ details on how to do this, please refer to the top-level README.md file | @@ -484,7 +484,7 @@ details on how to do this, please refer to the top-level README.md file | ||
| 484 | in the source distribution and to comments in | 484 | in the source distribution and to comments in |
| 485 | :file:`QUtil.hh`. | 485 | :file:`QUtil.hh`. |
| 486 | 486 | ||
| 487 | -.. _ref.adding-and-remove-pages: | 487 | +.. _adding-and-remove-pages: |
| 488 | 488 | ||
| 489 | Adding and Removing Pages | 489 | Adding and Removing Pages |
| 490 | ------------------------- | 490 | ------------------------- |
| @@ -497,7 +497,7 @@ individual pages and manipulation of the ``/Pages`` tree itself. For | @@ -497,7 +497,7 @@ individual pages and manipulation of the ``/Pages`` tree itself. For | ||
| 497 | details, see ``addPage`` and surrounding methods in | 497 | details, see ``addPage`` and surrounding methods in |
| 498 | :file:`QPDF.hh`. | 498 | :file:`QPDF.hh`. |
| 499 | 499 | ||
| 500 | -.. _ref.reserved-objects: | 500 | +.. _reserved-objects: |
| 501 | 501 | ||
| 502 | Reserving Object Numbers | 502 | Reserving Object Numbers |
| 503 | ------------------------ | 503 | ------------------------ |
| @@ -520,11 +520,11 @@ construct the references. When finished, you can call | @@ -520,11 +520,11 @@ construct the references. When finished, you can call | ||
| 520 | ``QPDF::replaceReserved`` to replace the reserved objects with the real | 520 | ``QPDF::replaceReserved`` to replace the reserved objects with the real |
| 521 | ones. This functionality will never be needed by most applications, but | 521 | ones. This functionality will never be needed by most applications, but |
| 522 | it is used internally by QPDF when copying objects from other PDF files, | 522 | it is used internally by QPDF when copying objects from other PDF files, |
| 523 | -as discussed in :ref:`ref.foreign-objects`. For an example of how to use reserved | 523 | +as discussed in :ref:`foreign-objects`. For an example of how to use reserved |
| 524 | objects, search for ``newReserved`` in | 524 | objects, search for ``newReserved`` in |
| 525 | :file:`test_driver.cc` in qpdf's sources. | 525 | :file:`test_driver.cc` in qpdf's sources. |
| 526 | 526 | ||
| 527 | -.. _ref.foreign-objects: | 527 | +.. _foreign-objects: |
| 528 | 528 | ||
| 529 | Copying Objects From Other PDF Files | 529 | Copying Objects From Other PDF Files |
| 530 | ------------------------------------ | 530 | ------------------------------------ |
| @@ -560,7 +560,7 @@ source ``QPDF`` object must remain valid until you have finished with | @@ -560,7 +560,7 @@ source ``QPDF`` object must remain valid until you have finished with | ||
| 560 | the destination object. This is because the original object is still | 560 | the destination object. This is because the original object is still |
| 561 | used to retrieve any referenced stream data from the copied object. | 561 | used to retrieve any referenced stream data from the copied object. |
| 562 | 562 | ||
| 563 | -.. _ref.rewriting: | 563 | +.. _rewriting: |
| 564 | 564 | ||
| 565 | Writing PDF Files | 565 | Writing PDF Files |
| 566 | ----------------- | 566 | ----------------- |
| @@ -568,9 +568,9 @@ Writing PDF Files | @@ -568,9 +568,9 @@ Writing PDF Files | ||
| 568 | The qpdf library supports file writing of ``QPDF`` objects to PDF files | 568 | The qpdf library supports file writing of ``QPDF`` objects to PDF files |
| 569 | through the ``QPDFWriter`` class. The ``QPDFWriter`` class has two | 569 | through the ``QPDFWriter`` class. The ``QPDFWriter`` class has two |
| 570 | writing modes: one for non-linearized files, and one for linearized | 570 | writing modes: one for non-linearized files, and one for linearized |
| 571 | -files. See :ref:`ref.linearization` for a description of | 571 | +files. See :ref:`linearization` for a description of |
| 572 | linearization is implemented. This section describes how we write | 572 | linearization is implemented. This section describes how we write |
| 573 | -non-linearized files including the creation of QDF files (see :ref:`ref.qdf`. | 573 | +non-linearized files including the creation of QDF files (see :ref:`qdf`. |
| 574 | 574 | ||
| 575 | This outline was written prior to implementation and is not exactly | 575 | This outline was written prior to implementation and is not exactly |
| 576 | accurate, but it provides a correct "notional" idea of how writing | 576 | accurate, but it provides a correct "notional" idea of how writing |
| @@ -645,7 +645,7 @@ can be used to write out a new xref table. Finally we can write out the | @@ -645,7 +645,7 @@ can be used to write out a new xref table. Finally we can write out the | ||
| 645 | trailer dictionary with appropriately computed /ID (see spec, 8.3, File | 645 | trailer dictionary with appropriately computed /ID (see spec, 8.3, File |
| 646 | Identifiers), the cross reference table offset, and ``%%EOF``. | 646 | Identifiers), the cross reference table offset, and ``%%EOF``. |
| 647 | 647 | ||
| 648 | -.. _ref.filtered-streams: | 648 | +.. _filtered-streams: |
| 649 | 649 | ||
| 650 | Filtered Streams | 650 | Filtered Streams |
| 651 | ---------------- | 651 | ---------------- |
| @@ -670,7 +670,7 @@ should write to whatever type of output is required. The ``QPDF`` class | @@ -670,7 +670,7 @@ should write to whatever type of output is required. The ``QPDF`` class | ||
| 670 | has an interface to write raw or filtered stream contents to a given | 670 | has an interface to write raw or filtered stream contents to a given |
| 671 | pipeline. | 671 | pipeline. |
| 672 | 672 | ||
| 673 | -.. _ref.object-accessors: | 673 | +.. _object-accessors: |
| 674 | 674 | ||
| 675 | Object Accessor Methods | 675 | Object Accessor Methods |
| 676 | ----------------------- | 676 | ----------------------- |
manual/installation.rst
| 1 | -.. _ref.installing: | 1 | +.. _installing: |
| 2 | 2 | ||
| 3 | Building and Installing QPDF | 3 | Building and Installing QPDF |
| 4 | ============================ | 4 | ============================ |
| @@ -7,7 +7,7 @@ This chapter describes how to build and install qpdf. Please see also | @@ -7,7 +7,7 @@ This chapter describes how to build and install qpdf. Please see also | ||
| 7 | the :file:`README.md` and | 7 | the :file:`README.md` and |
| 8 | :file:`INSTALL` files in the source distribution. | 8 | :file:`INSTALL` files in the source distribution. |
| 9 | 9 | ||
| 10 | -.. _ref.prerequisites: | 10 | +.. _prerequisites: |
| 11 | 11 | ||
| 12 | System Requirements | 12 | System Requirements |
| 13 | ------------------- | 13 | ------------------- |
| @@ -68,7 +68,7 @@ documentation, you need ``pdflatex``, ``latexmk``, and a fairly complete | @@ -68,7 +68,7 @@ documentation, you need ``pdflatex``, ``latexmk``, and a fairly complete | ||
| 68 | LaTeX installation. Detailed requirements can be found in the Sphinx | 68 | LaTeX installation. Detailed requirements can be found in the Sphinx |
| 69 | documentation. | 69 | documentation. |
| 70 | 70 | ||
| 71 | -.. _ref.building: | 71 | +.. _building: |
| 72 | 72 | ||
| 73 | Build Instructions | 73 | Build Instructions |
| 74 | ------------------ | 74 | ------------------ |
| @@ -112,7 +112,7 @@ hand-crafted non-recursive Makefile that requires gnu make. If you're | @@ -112,7 +112,7 @@ hand-crafted non-recursive Makefile that requires gnu make. If you're | ||
| 112 | really interested, please read the comments in the top-level | 112 | really interested, please read the comments in the top-level |
| 113 | :file:`Makefile`. | 113 | :file:`Makefile`. |
| 114 | 114 | ||
| 115 | -.. _ref.crypto: | 115 | +.. _crypto: |
| 116 | 116 | ||
| 117 | Crypto Providers | 117 | Crypto Providers |
| 118 | ---------------- | 118 | ---------------- |
| @@ -131,7 +131,7 @@ Additional implementations may be added if needed. It is also possible | @@ -131,7 +131,7 @@ Additional implementations may be added if needed. It is also possible | ||
| 131 | for a developer to provide their own implementation without modifying | 131 | for a developer to provide their own implementation without modifying |
| 132 | the qpdf library. | 132 | the qpdf library. |
| 133 | 133 | ||
| 134 | -.. _ref.crypto.build: | 134 | +.. _crypto.build: |
| 135 | 135 | ||
| 136 | Build Support For Crypto Providers | 136 | Build Support For Crypto Providers |
| 137 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 137 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| @@ -192,7 +192,7 @@ build, and you can ignore | @@ -192,7 +192,7 @@ build, and you can ignore | ||
| 192 | :file:`libqpdf/build.mk` to get the list of source | 192 | :file:`libqpdf/build.mk` to get the list of source |
| 193 | files you need to build. | 193 | files you need to build. |
| 194 | 194 | ||
| 195 | -.. _ref.crypto.runtime: | 195 | +.. _crypto.runtime: |
| 196 | 196 | ||
| 197 | Runtime Crypto Provider Selection | 197 | Runtime Crypto Provider Selection |
| 198 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 198 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| @@ -211,7 +211,7 @@ to compare behavior of two different crypto providers while testing | @@ -211,7 +211,7 @@ to compare behavior of two different crypto providers while testing | ||
| 211 | performance or reproducing a bug. It could also be useful for people who | 211 | performance or reproducing a bug. It could also be useful for people who |
| 212 | are implementing their own crypto providers. | 212 | are implementing their own crypto providers. |
| 213 | 213 | ||
| 214 | -.. _ref.crypto.develop: | 214 | +.. _crypto.develop: |
| 215 | 215 | ||
| 216 | Crypto Provider Information for Developers | 216 | Crypto Provider Information for Developers |
| 217 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 217 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| @@ -224,7 +224,7 @@ provider, you have to create a class derived from ``QPDFCryptoImpl`` and | @@ -224,7 +224,7 @@ provider, you have to create a class derived from ``QPDFCryptoImpl`` and | ||
| 224 | register it with ``QPDFCryptoProvider``. For additional information, see | 224 | register it with ``QPDFCryptoProvider``. For additional information, see |
| 225 | comments in :file:`include/qpdf/QPDFCryptoImpl.hh`. | 225 | comments in :file:`include/qpdf/QPDFCryptoImpl.hh`. |
| 226 | 226 | ||
| 227 | -.. _ref.crypto.design: | 227 | +.. _crypto.design: |
| 228 | 228 | ||
| 229 | Crypto Provider Design Notes | 229 | Crypto Provider Design Notes |
| 230 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 230 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| @@ -298,7 +298,7 @@ Implementing the registration functions and internal storage of | @@ -298,7 +298,7 @@ Implementing the registration functions and internal storage of | ||
| 298 | registered providers was also easier using C++-11's functional | 298 | registered providers was also easier using C++-11's functional |
| 299 | interfaces, which was another reason to require C++-11 at this time. | 299 | interfaces, which was another reason to require C++-11 at this time. |
| 300 | 300 | ||
| 301 | -.. _ref.packaging: | 301 | +.. _packaging: |
| 302 | 302 | ||
| 303 | Notes for Packagers | 303 | Notes for Packagers |
| 304 | ------------------- | 304 | ------------------- |
| @@ -311,7 +311,7 @@ some things you may want to keep in mind: | @@ -311,7 +311,7 @@ some things you may want to keep in mind: | ||
| 311 | However, qpdf still has a build-time dependency on perl. | 311 | However, qpdf still has a build-time dependency on perl. |
| 312 | 312 | ||
| 313 | - Make sure you are getting the intended behavior with regard to crypto | 313 | - Make sure you are getting the intended behavior with regard to crypto |
| 314 | - providers. Read :ref:`ref.crypto.build` for details. | 314 | + providers. Read :ref:`crypto.build` for details. |
| 315 | 315 | ||
| 316 | - Passing :samp:`--enable-show-failed-test-output` to | 316 | - Passing :samp:`--enable-show-failed-test-output` to |
| 317 | :command:`./configure` will cause any failed test | 317 | :command:`./configure` will cause any failed test |
manual/json.rst
| 1 | -.. _ref.json: | 1 | +.. _json: |
| 2 | 2 | ||
| 3 | QPDF JSON | 3 | QPDF JSON |
| 4 | ========= | 4 | ========= |
| 5 | 5 | ||
| 6 | -.. _ref.json-overview: | 6 | +.. _json-overview: |
| 7 | 7 | ||
| 8 | Overview | 8 | Overview |
| 9 | -------- | 9 | -------- |
| @@ -18,7 +18,7 @@ files programmatically from the command-line in languages that can't | @@ -18,7 +18,7 @@ files programmatically from the command-line in languages that can't | ||
| 18 | call or link with the qpdf library directly. Note that stream data can | 18 | call or link with the qpdf library directly. Note that stream data can |
| 19 | be extracted from PDF files using other qpdf command-line options. | 19 | be extracted from PDF files using other qpdf command-line options. |
| 20 | 20 | ||
| 21 | -.. _ref.json-guarantees: | 21 | +.. _json-guarantees: |
| 22 | 22 | ||
| 23 | JSON Guarantees | 23 | JSON Guarantees |
| 24 | --------------- | 24 | --------------- |
manual/library.rst
| 1 | -.. _ref.using-library: | 1 | +.. _using-library: |
| 2 | 2 | ||
| 3 | Using the QPDF Library | 3 | Using the QPDF Library |
| 4 | ====================== | 4 | ====================== |
| 5 | 5 | ||
| 6 | -.. _ref.using.from-cxx: | 6 | +.. _using.from-cxx: |
| 7 | 7 | ||
| 8 | Using QPDF from C++ | 8 | Using QPDF from C++ |
| 9 | ------------------- | 9 | ------------------- |
| @@ -34,7 +34,7 @@ individual ``QPDF`` object instance (including ``QPDF``, | @@ -34,7 +34,7 @@ individual ``QPDF`` object instance (including ``QPDF``, | ||
| 34 | thread at a time. Multiple threads may simultaneously work with | 34 | thread at a time. Multiple threads may simultaneously work with |
| 35 | different instances of these and all other QPDF objects. | 35 | different instances of these and all other QPDF objects. |
| 36 | 36 | ||
| 37 | -.. _ref.using.other-languages: | 37 | +.. _using.other-languages: |
| 38 | 38 | ||
| 39 | Using QPDF from other languages | 39 | Using QPDF from other languages |
| 40 | ------------------------------- | 40 | ------------------------------- |
| @@ -65,9 +65,9 @@ Other Languages | @@ -65,9 +65,9 @@ Other Languages | ||
| 65 | command-line tool can produce a JSON representation of the PDF file's | 65 | command-line tool can produce a JSON representation of the PDF file's |
| 66 | non-content data. This can facilitate interacting programmatically | 66 | non-content data. This can facilitate interacting programmatically |
| 67 | with PDF files through qpdf's command line interface. For more | 67 | with PDF files through qpdf's command line interface. For more |
| 68 | - information, please see :ref:`ref.json`. | 68 | + information, please see :ref:`json`. |
| 69 | 69 | ||
| 70 | -.. _ref.unicode-files: | 70 | +.. _unicode-files: |
| 71 | 71 | ||
| 72 | A Note About Unicode File Names | 72 | A Note About Unicode File Names |
| 73 | ------------------------------- | 73 | ------------------------------- |
manual/license.rst
manual/linearization.rst
| 1 | -.. _ref.linearization: | 1 | +.. _linearization: |
| 2 | 2 | ||
| 3 | Linearization | 3 | Linearization |
| 4 | ============= | 4 | ============= |
| @@ -6,7 +6,7 @@ Linearization | @@ -6,7 +6,7 @@ Linearization | ||
| 6 | This chapter describes how ``QPDF`` and ``QPDFWriter`` implement | 6 | This chapter describes how ``QPDF`` and ``QPDFWriter`` implement |
| 7 | creation and processing of linearized PDFS. | 7 | creation and processing of linearized PDFS. |
| 8 | 8 | ||
| 9 | -.. _ref.linearization-strategy: | 9 | +.. _linearization-strategy: |
| 10 | 10 | ||
| 11 | Basic Strategy for Linearization | 11 | Basic Strategy for Linearization |
| 12 | -------------------------------- | 12 | -------------------------------- |
| @@ -22,7 +22,7 @@ was first tested against linearized files created by external tools | @@ -22,7 +22,7 @@ was first tested against linearized files created by external tools | ||
| 22 | (Acrobat and pdlin) and then used to validate files created by | 22 | (Acrobat and pdlin) and then used to validate files created by |
| 23 | ``QPDFWriter`` itself. | 23 | ``QPDFWriter`` itself. |
| 24 | 24 | ||
| 25 | -.. _ref.linearized.preparation: | 25 | +.. _linearized.preparation: |
| 26 | 26 | ||
| 27 | Preparing For Linearization | 27 | Preparing For Linearization |
| 28 | --------------------------- | 28 | --------------------------- |
| @@ -34,7 +34,7 @@ tree). We also have to know which objects refer to which other objects, | @@ -34,7 +34,7 @@ tree). We also have to know which objects refer to which other objects, | ||
| 34 | being concerned with page boundaries and a few other cases. We refer to | 34 | being concerned with page boundaries and a few other cases. We refer to |
| 35 | this part of preparing the PDF file as | 35 | this part of preparing the PDF file as |
| 36 | *optimization*, discussed in | 36 | *optimization*, discussed in |
| 37 | -:ref:`ref.optimization`. Note the, in this context, the | 37 | +:ref:`optimization`. Note the, in this context, the |
| 38 | term *optimization* is a qpdf term, and the | 38 | term *optimization* is a qpdf term, and the |
| 39 | term *linearization* is a term from the PDF | 39 | term *linearization* is a term from the PDF |
| 40 | specification. Do not be confused by the fact that many applications | 40 | specification. Do not be confused by the fact that many applications |
| @@ -49,7 +49,7 @@ really only a few issues that need to be dealt with: | @@ -49,7 +49,7 @@ really only a few issues that need to be dealt with: | ||
| 49 | 49 | ||
| 50 | - Filling in offsets and byte sizes | 50 | - Filling in offsets and byte sizes |
| 51 | 51 | ||
| 52 | -.. _ref.optimization: | 52 | +.. _optimization: |
| 53 | 53 | ||
| 54 | Optimization | 54 | Optimization |
| 55 | ------------ | 55 | ------------ |
| @@ -85,7 +85,7 @@ Note that pages and thumbnails have different object user types, so the | @@ -85,7 +85,7 @@ Note that pages and thumbnails have different object user types, so the | ||
| 85 | above test on a page will not include objects referenced by the page's | 85 | above test on a page will not include objects referenced by the page's |
| 86 | thumbnail dictionary and nothing else. | 86 | thumbnail dictionary and nothing else. |
| 87 | 87 | ||
| 88 | -.. _ref.linearization.writing: | 88 | +.. _linearization.writing: |
| 89 | 89 | ||
| 90 | Writing Linearized Files | 90 | Writing Linearized Files |
| 91 | ------------------------ | 91 | ------------------------ |
| @@ -131,7 +131,7 @@ Using this strategy, we can write linearized files to a non-seekable | @@ -131,7 +131,7 @@ Using this strategy, we can write linearized files to a non-seekable | ||
| 131 | output stream with only a single pass to disk or wherever the output is | 131 | output stream with only a single pass to disk or wherever the output is |
| 132 | going. | 132 | going. |
| 133 | 133 | ||
| 134 | -.. _ref.linearization-data: | 134 | +.. _linearization-data: |
| 135 | 135 | ||
| 136 | Calculating Linearization Data | 136 | Calculating Linearization Data |
| 137 | ------------------------------ | 137 | ------------------------------ |
| @@ -147,7 +147,7 @@ object is encountered that has not already been queued. (This could | @@ -147,7 +147,7 @@ object is encountered that has not already been queued. (This could | ||
| 147 | happen only if there were a bug in the traversal code used to calculate | 147 | happen only if there were a bug in the traversal code used to calculate |
| 148 | the linearization data.) | 148 | the linearization data.) |
| 149 | 149 | ||
| 150 | -.. _ref.linearization-issues: | 150 | +.. _linearization-issues: |
| 151 | 151 | ||
| 152 | Known Issues with Linearization | 152 | Known Issues with Linearization |
| 153 | ------------------------------- | 153 | ------------------------------- |
| @@ -172,7 +172,7 @@ linearization appendix of the PDF specification. | @@ -172,7 +172,7 @@ linearization appendix of the PDF specification. | ||
| 172 | most of the information needed to create thumbnail hint tables. There | 172 | most of the information needed to create thumbnail hint tables. There |
| 173 | are comments in the code about this. | 173 | are comments in the code about this. |
| 174 | 174 | ||
| 175 | -.. _ref.linearization-debugging: | 175 | +.. _linearization-debugging: |
| 176 | 176 | ||
| 177 | Debugging Note | 177 | Debugging Note |
| 178 | -------------- | 178 | -------------- |
manual/object-streams.rst
| 1 | -.. _ref.object-and-xref-streams: | 1 | +.. _object-and-xref-streams: |
| 2 | 2 | ||
| 3 | Object and Cross-Reference Streams | 3 | Object and Cross-Reference Streams |
| 4 | ================================== | 4 | ================================== |
| @@ -6,7 +6,7 @@ Object and Cross-Reference Streams | @@ -6,7 +6,7 @@ Object and Cross-Reference Streams | ||
| 6 | This chapter provides information about the implementation of object | 6 | This chapter provides information about the implementation of object |
| 7 | stream and cross-reference stream support in qpdf. | 7 | stream and cross-reference stream support in qpdf. |
| 8 | 8 | ||
| 9 | -.. _ref.object-streams: | 9 | +.. _object-streams: |
| 10 | 10 | ||
| 11 | Object Streams | 11 | Object Streams |
| 12 | -------------- | 12 | -------------- |
| @@ -27,7 +27,7 @@ if the file is encrypted, though this is not specifically disallowed by | @@ -27,7 +27,7 @@ if the file is encrypted, though this is not specifically disallowed by | ||
| 27 | the specification. | 27 | the specification. |
| 28 | 28 | ||
| 29 | There are additional restrictions for linearized files. See | 29 | There are additional restrictions for linearized files. See |
| 30 | -:ref:`ref.object-streams-linearization` for details. | 30 | +:ref:`object-streams-linearization` for details. |
| 31 | 31 | ||
| 32 | The PDF specification refers to objects in object streams as "compressed | 32 | The PDF specification refers to objects in object streams as "compressed |
| 33 | objects" regardless of whether the object stream is compressed. | 33 | objects" regardless of whether the object stream is compressed. |
| @@ -62,7 +62,7 @@ is the object number and the byte offset of the object relative to the | @@ -62,7 +62,7 @@ is the object number and the byte offset of the object relative to the | ||
| 62 | first object in the stream, followed by the objects themselves, | 62 | first object in the stream, followed by the objects themselves, |
| 63 | concatenated. | 63 | concatenated. |
| 64 | 64 | ||
| 65 | -.. _ref.xref-streams: | 65 | +.. _xref-streams: |
| 66 | 66 | ||
| 67 | Cross-Reference Streams | 67 | Cross-Reference Streams |
| 68 | ----------------------- | 68 | ----------------------- |
| @@ -111,7 +111,7 @@ which are these: | @@ -111,7 +111,7 @@ which are these: | ||
| 111 | The other fields in the xref stream, which may be indirect if desired, | 111 | The other fields in the xref stream, which may be indirect if desired, |
| 112 | are the union of those from the xref table's trailer dictionary. | 112 | are the union of those from the xref table's trailer dictionary. |
| 113 | 113 | ||
| 114 | -.. _ref.xref-stream-data: | 114 | +.. _xref-stream-data: |
| 115 | 115 | ||
| 116 | Cross-Reference Stream Data | 116 | Cross-Reference Stream Data |
| 117 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 117 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| @@ -138,7 +138,7 @@ PDF 1.5 has three field types: | @@ -138,7 +138,7 @@ PDF 1.5 has three field types: | ||
| 138 | It seems standard to have the first entry in the table be ``0 0 0`` | 138 | It seems standard to have the first entry in the table be ``0 0 0`` |
| 139 | instead of ``0 0 ffff`` if there are no deleted objects. | 139 | instead of ``0 0 ffff`` if there are no deleted objects. |
| 140 | 140 | ||
| 141 | -.. _ref.object-streams-linearization: | 141 | +.. _object-streams-linearization: |
| 142 | 142 | ||
| 143 | Implications for Linearized Files | 143 | Implications for Linearized Files |
| 144 | --------------------------------- | 144 | --------------------------------- |
| @@ -161,7 +161,7 @@ When numbering objects, all shared objects within both the first and | @@ -161,7 +161,7 @@ When numbering objects, all shared objects within both the first and | ||
| 161 | second halves of the linearized files must be numbered consecutively | 161 | second halves of the linearized files must be numbered consecutively |
| 162 | after all normal uncompressed objects in that half. | 162 | after all normal uncompressed objects in that half. |
| 163 | 163 | ||
| 164 | -.. _ref.object-stream-implementation: | 164 | +.. _object-stream-implementation: |
| 165 | 165 | ||
| 166 | Implementation Notes | 166 | Implementation Notes |
| 167 | -------------------- | 167 | -------------------- |
manual/overview.rst
manual/qdf.rst
manual/release-notes.rst
| 1 | -.. _ref.release-notes: | 1 | +.. _release-notes: |
| 2 | 2 | ||
| 3 | Release Notes | 3 | Release Notes |
| 4 | ============= | 4 | ============= |
| @@ -34,7 +34,7 @@ For a detailed list of changes, please see the file | @@ -34,7 +34,7 @@ For a detailed list of changes, please see the file | ||
| 34 | error code of ``qpdf_e_object`` instead of | 34 | error code of ``qpdf_e_object`` instead of |
| 35 | ``qpdf_e_damaged_pdf``. Also, comments have been added to | 35 | ``qpdf_e_damaged_pdf``. Also, comments have been added to |
| 36 | :file:`QPDFObjectHandle.hh` to explain in more detail what the | 36 | :file:`QPDFObjectHandle.hh` to explain in more detail what the |
| 37 | - behavior is. See :ref:`ref.object-accessors` for a more in-depth | 37 | + behavior is. See :ref:`object-accessors` for a more in-depth |
| 38 | discussion. | 38 | discussion. |
| 39 | 39 | ||
| 40 | - Add ``Pl_Buffer::getMallocBuffer()`` to initialize a buffer | 40 | - Add ``Pl_Buffer::getMallocBuffer()`` to initialize a buffer |
| @@ -88,7 +88,7 @@ For a detailed list of changes, please see the file | @@ -88,7 +88,7 @@ For a detailed list of changes, please see the file | ||
| 88 | acknowledgment moving forward. For qpdf 10.4, this change only | 88 | acknowledgment moving forward. For qpdf 10.4, this change only |
| 89 | affects the command-line tool. Starting in qpdf 11, there will | 89 | affects the command-line tool. Starting in qpdf 11, there will |
| 90 | be small API changes to require explicit acknowledgment in | 90 | be small API changes to require explicit acknowledgment in |
| 91 | - those cases as well. For additional information, see :ref:`ref.weak-crypto`. | 91 | + those cases as well. For additional information, see :ref:`weak-crypto`. |
| 92 | 92 | ||
| 93 | - Bug Fixes | 93 | - Bug Fixes |
| 94 | 94 | ||
| @@ -243,7 +243,7 @@ For a detailed list of changes, please see the file | @@ -243,7 +243,7 @@ For a detailed list of changes, please see the file | ||
| 243 | - CLI Enhancements | 243 | - CLI Enhancements |
| 244 | 244 | ||
| 245 | - Add new command line options for listing, saving, adding, | 245 | - Add new command line options for listing, saving, adding, |
| 246 | - removing, and and copying file attachments. See :ref:`ref.attachments` for details. | 246 | + removing, and and copying file attachments. See :ref:`attachments` for details. |
| 247 | 247 | ||
| 248 | - Page splitting and merging operations, as well as | 248 | - Page splitting and merging operations, as well as |
| 249 | :samp:`--flatten-rotation`, are better behaved | 249 | :samp:`--flatten-rotation`, are better behaved |
| @@ -654,7 +654,7 @@ For a detailed list of changes, please see the file | @@ -654,7 +654,7 @@ For a detailed list of changes, please see the file | ||
| 654 | expensive process of finding and removing unreferenced | 654 | expensive process of finding and removing unreferenced |
| 655 | resources is likely to be of benefit. For most files, this new | 655 | resources is likely to be of benefit. For most files, this new |
| 656 | default will result in a significant performance improvement | 656 | default will result in a significant performance improvement |
| 657 | - for splitting pages. See :ref:`ref.advanced-transformation` for a more detailed | 657 | + for splitting pages. See :ref:`advanced-transformation` for a more detailed |
| 658 | discussion. | 658 | discussion. |
| 659 | 659 | ||
| 660 | - The :samp:`--preserve-unreferenced-resources` | 660 | - The :samp:`--preserve-unreferenced-resources` |
| @@ -786,8 +786,8 @@ For a detailed list of changes, please see the file | @@ -786,8 +786,8 @@ For a detailed list of changes, please see the file | ||
| 786 | - A C++-11 compiler is now required to build qpdf. | 786 | - A C++-11 compiler is now required to build qpdf. |
| 787 | 787 | ||
| 788 | - A new crypto provider that uses gnutls for crypto functions is | 788 | - A new crypto provider that uses gnutls for crypto functions is |
| 789 | - now available and can be enabled at build time. See :ref:`ref.crypto` for more information about crypto | ||
| 790 | - providers and :ref:`ref.crypto.build` for specific information about | 789 | + now available and can be enabled at build time. See :ref:`crypto` for more information about crypto |
| 790 | + providers and :ref:`crypto.build` for specific information about | ||
| 791 | the build. | 791 | the build. |
| 792 | 792 | ||
| 793 | - Library Enhancements | 793 | - Library Enhancements |
| @@ -811,12 +811,12 @@ For a detailed list of changes, please see the file | @@ -811,12 +811,12 @@ For a detailed list of changes, please see the file | ||
| 811 | This includes the addition of new classes | 811 | This includes the addition of new classes |
| 812 | ``QPDFCryptoProvider`` and ``QPDFCryptoImpl`` and the | 812 | ``QPDFCryptoProvider`` and ``QPDFCryptoImpl`` and the |
| 813 | recognition of the ``QPDF_CRYPTO_PROVIDER`` environment | 813 | recognition of the ``QPDF_CRYPTO_PROVIDER`` environment |
| 814 | - variable. Crypto providers are described in depth in :ref:`ref.crypto`. | 814 | + variable. Crypto providers are described in depth in :ref:`crypto`. |
| 815 | 815 | ||
| 816 | - CLI Enhancements | 816 | - CLI Enhancements |
| 817 | 817 | ||
| 818 | - Addition of the :samp:`--show-crypto` option in | 818 | - Addition of the :samp:`--show-crypto` option in |
| 819 | - support of selectable crypto providers, as described in :ref:`ref.crypto`. | 819 | + support of selectable crypto providers, as described in :ref:`crypto`. |
| 820 | 820 | ||
| 821 | - Allow ``:even`` or ``:odd`` to be appended to numeric ranges | 821 | - Allow ``:even`` or ``:odd`` to be appended to numeric ranges |
| 822 | for specification of the even or odd pages from among the pages | 822 | for specification of the even or odd pages from among the pages |
| @@ -885,7 +885,7 @@ For a detailed list of changes, please see the file | @@ -885,7 +885,7 @@ For a detailed list of changes, please see the file | ||
| 885 | - The :samp:`--replace-input` option may be given | 885 | - The :samp:`--replace-input` option may be given |
| 886 | in place of an output file name. This causes qpdf to overwrite | 886 | in place of an output file name. This causes qpdf to overwrite |
| 887 | the input file with the output. See the description of | 887 | the input file with the output. See the description of |
| 888 | - :samp:`--replace-input` in :ref:`ref.basic-options` for more details. | 888 | + :samp:`--replace-input` in :ref:`basic-options` for more details. |
| 889 | 889 | ||
| 890 | - The :samp:`--recompress-flate` instructs | 890 | - The :samp:`--recompress-flate` instructs |
| 891 | :command:`qpdf` to recompress streams that are | 891 | :command:`qpdf` to recompress streams that are |
| @@ -906,7 +906,7 @@ For a detailed list of changes, please see the file | @@ -906,7 +906,7 @@ For a detailed list of changes, please see the file | ||
| 906 | conversion methods do range checking to ensure that the cast | 906 | conversion methods do range checking to ensure that the cast |
| 907 | can be performed with no loss of information. Every use of | 907 | can be performed with no loss of information. Every use of |
| 908 | ``static_cast`` in the library was inspected to see if it could | 908 | ``static_cast`` in the library was inspected to see if it could |
| 909 | - use one of these safe converters instead. See :ref:`ref.casting` for additional details. | 909 | + use one of these safe converters instead. See :ref:`casting` for additional details. |
| 910 | 910 | ||
| 911 | - Method ``QPDF::anyWarnings`` tells whether there have been any | 911 | - Method ``QPDF::anyWarnings`` tells whether there have been any |
| 912 | warnings without clearing the list of warnings. | 912 | warnings without clearing the list of warnings. |
| @@ -1100,7 +1100,7 @@ For a detailed list of changes, please see the file | @@ -1100,7 +1100,7 @@ For a detailed list of changes, please see the file | ||
| 1100 | previous releases when the passwords contain non-ASCII | 1100 | previous releases when the passwords contain non-ASCII |
| 1101 | characters. In some cases, the behavior differs from previous | 1101 | characters. In some cases, the behavior differs from previous |
| 1102 | releases. For a discussion of the current behavior, please see | 1102 | releases. For a discussion of the current behavior, please see |
| 1103 | - :ref:`ref.unicode-passwords`. The | 1103 | + :ref:`unicode-passwords`. The |
| 1104 | incompatibilities are as follows: | 1104 | incompatibilities are as follows: |
| 1105 | 1105 | ||
| 1106 | - On Windows, qpdf now receives all command-line options as | 1106 | - On Windows, qpdf now receives all command-line options as |
| @@ -1131,7 +1131,7 @@ For a detailed list of changes, please see the file | @@ -1131,7 +1131,7 @@ For a detailed list of changes, please see the file | ||
| 1131 | the PDF spec requires. While this is almost always the | 1131 | the PDF spec requires. While this is almost always the |
| 1132 | correct behavior, it is possible to override the behavior if | 1132 | correct behavior, it is possible to override the behavior if |
| 1133 | there is some reason to do so. This is discussed in more | 1133 | there is some reason to do so. This is discussed in more |
| 1134 | - depth in :ref:`ref.unicode-passwords`. | 1134 | + depth in :ref:`unicode-passwords`. |
| 1135 | 1135 | ||
| 1136 | - New options | 1136 | - New options |
| 1137 | :samp:`--externalize-inline-images`, | 1137 | :samp:`--externalize-inline-images`, |
| @@ -1140,12 +1140,12 @@ For a detailed list of changes, please see the file | @@ -1140,12 +1140,12 @@ For a detailed list of changes, please see the file | ||
| 1140 | handling of inline images and possible conversion of them to | 1140 | handling of inline images and possible conversion of them to |
| 1141 | regular images. By default, | 1141 | regular images. By default, |
| 1142 | :samp:`--optimize-images` now also applies to | 1142 | :samp:`--optimize-images` now also applies to |
| 1143 | - inline images. These options are discussed in :ref:`ref.advanced-transformation`. | 1143 | + inline images. These options are discussed in :ref:`advanced-transformation`. |
| 1144 | 1144 | ||
| 1145 | - Add options :samp:`--overlay` and | 1145 | - Add options :samp:`--overlay` and |
| 1146 | :samp:`--underlay` for overlaying or | 1146 | :samp:`--underlay` for overlaying or |
| 1147 | underlaying pages of other files onto output pages. See | 1147 | underlaying pages of other files onto output pages. See |
| 1148 | - :ref:`ref.overlay-underlay` for | 1148 | + :ref:`overlay-underlay` for |
| 1149 | details. | 1149 | details. |
| 1150 | 1150 | ||
| 1151 | - When opening an encrypted file with a password, if the | 1151 | - When opening an encrypted file with a password, if the |
| @@ -1154,12 +1154,12 @@ For a detailed list of changes, please see the file | @@ -1154,12 +1154,12 @@ For a detailed list of changes, please see the file | ||
| 1154 | passwords to try to compensate for possible character encoding | 1154 | passwords to try to compensate for possible character encoding |
| 1155 | errors. This behavior can be suppressed with the | 1155 | errors. This behavior can be suppressed with the |
| 1156 | :samp:`--suppress-password-recovery` option. | 1156 | :samp:`--suppress-password-recovery` option. |
| 1157 | - See :ref:`ref.unicode-passwords` for a full | 1157 | + See :ref:`unicode-passwords` for a full |
| 1158 | discussion. | 1158 | discussion. |
| 1159 | 1159 | ||
| 1160 | - Add the :samp:`--password-mode` option to | 1160 | - Add the :samp:`--password-mode` option to |
| 1161 | fine-tune how qpdf interprets password arguments, especially | 1161 | fine-tune how qpdf interprets password arguments, especially |
| 1162 | - when they contain non-ASCII characters. See :ref:`ref.unicode-passwords` for more information. | 1162 | + when they contain non-ASCII characters. See :ref:`unicode-passwords` for more information. |
| 1163 | 1163 | ||
| 1164 | - In the :samp:`--pages` option, it is now | 1164 | - In the :samp:`--pages` option, it is now |
| 1165 | possible to copy the same page more than once from the same | 1165 | possible to copy the same page more than once from the same |
| @@ -1333,7 +1333,7 @@ For a detailed list of changes, please see the file | @@ -1333,7 +1333,7 @@ For a detailed list of changes, please see the file | ||
| 1333 | - Page collation: add new option | 1333 | - Page collation: add new option |
| 1334 | :samp:`--collate`. When specified, the | 1334 | :samp:`--collate`. When specified, the |
| 1335 | semantics of :samp:`--pages` change from | 1335 | semantics of :samp:`--pages` change from |
| 1336 | - concatenation to collation. See :ref:`ref.page-selection` for examples and discussion. | 1336 | + concatenation to collation. See :ref:`page-selection` for examples and discussion. |
| 1337 | 1337 | ||
| 1338 | - Generation of information in JSON format, primarily to | 1338 | - Generation of information in JSON format, primarily to |
| 1339 | facilitate use of qpdf from languages other than C++. Add new | 1339 | facilitate use of qpdf from languages other than C++. Add new |
| @@ -1342,7 +1342,7 @@ For a detailed list of changes, please see the file | @@ -1342,7 +1342,7 @@ For a detailed list of changes, please see the file | ||
| 1342 | :samp:`--json-object` to generate a JSON | 1342 | :samp:`--json-object` to generate a JSON |
| 1343 | representation of the PDF file. Run :command:`qpdf | 1343 | representation of the PDF file. Run :command:`qpdf |
| 1344 | --json-help` to get a description of the JSON | 1344 | --json-help` to get a description of the JSON |
| 1345 | - format. For more information, see :ref:`ref.json`. | 1345 | + format. For more information, see :ref:`json`. |
| 1346 | 1346 | ||
| 1347 | - The :samp:`--generate-appearances` flag will | 1347 | - The :samp:`--generate-appearances` flag will |
| 1348 | cause qpdf to generate appearances for form fields if the PDF | 1348 | cause qpdf to generate appearances for form fields if the PDF |
| @@ -1500,7 +1500,7 @@ For a detailed list of changes, please see the file | @@ -1500,7 +1500,7 @@ For a detailed list of changes, please see the file | ||
| 1500 | - Notes for Packagers | 1500 | - Notes for Packagers |
| 1501 | 1501 | ||
| 1502 | - A new section has been added to the documentation with notes | 1502 | - A new section has been added to the documentation with notes |
| 1503 | - for packagers. Please see :ref:`ref.packaging`. | 1503 | + for packagers. Please see :ref:`packaging`. |
| 1504 | 1504 | ||
| 1505 | - The qpdf detects out-of-date automatically generated files. If | 1505 | - The qpdf detects out-of-date automatically generated files. If |
| 1506 | your packaging system automatically refreshes libtool or | 1506 | your packaging system automatically refreshes libtool or |
| @@ -1522,7 +1522,7 @@ For a detailed list of changes, please see the file | @@ -1522,7 +1522,7 @@ For a detailed list of changes, please see the file | ||
| 1522 | :samp:`--keep-files-open={[yn]}` | 1522 | :samp:`--keep-files-open={[yn]}` |
| 1523 | to override default determination of whether to keep files open | 1523 | to override default determination of whether to keep files open |
| 1524 | when merging. Please see the discussion of | 1524 | when merging. Please see the discussion of |
| 1525 | - :samp:`--keep-files-open` in :ref:`ref.basic-options` for additional details. | 1525 | + :samp:`--keep-files-open` in :ref:`basic-options` for additional details. |
| 1526 | 1526 | ||
| 1527 | 8.2.0: August 16, 2018 | 1527 | 8.2.0: August 16, 2018 |
| 1528 | - Command-line Enhancements | 1528 | - Command-line Enhancements |
| @@ -1588,7 +1588,7 @@ For a detailed list of changes, please see the file | @@ -1588,7 +1588,7 @@ For a detailed list of changes, please see the file | ||
| 1588 | page splitting is very slow, the old behavior (and speed) can | 1588 | page splitting is very slow, the old behavior (and speed) can |
| 1589 | be enabled by specifying | 1589 | be enabled by specifying |
| 1590 | :samp:`--preserve-unreferenced-resources`. For | 1590 | :samp:`--preserve-unreferenced-resources`. For |
| 1591 | - additional details, please see :ref:`ref.advanced-transformation`. | 1591 | + additional details, please see :ref:`advanced-transformation`. |
| 1592 | 1592 | ||
| 1593 | - When merging multiple PDF files, qpdf no longer leaves all the | 1593 | - When merging multiple PDF files, qpdf no longer leaves all the |
| 1594 | files open. This makes it possible to merge numbers of files | 1594 | files open. This makes it possible to merge numbers of files |
| @@ -1633,7 +1633,7 @@ For a detailed list of changes, please see the file | @@ -1633,7 +1633,7 @@ For a detailed list of changes, please see the file | ||
| 1633 | introduced. These are designed to provide a more convenient way | 1633 | introduced. These are designed to provide a more convenient way |
| 1634 | of interacting with certain document features than using | 1634 | of interacting with certain document features than using |
| 1635 | ``QPDFObjectHandle`` directly. For details on helpers, see | 1635 | ``QPDFObjectHandle`` directly. For details on helpers, see |
| 1636 | - :ref:`ref.helper-classes`. Specific additional | 1636 | + :ref:`helper-classes`. Specific additional |
| 1637 | interfaces are described below. | 1637 | interfaces are described below. |
| 1638 | 1638 | ||
| 1639 | - Add two new document helper classes: ``QPDFPageDocumentHelper`` | 1639 | - Add two new document helper classes: ``QPDFPageDocumentHelper`` |
| @@ -1718,7 +1718,7 @@ For a detailed list of changes, please see the file | @@ -1718,7 +1718,7 @@ For a detailed list of changes, please see the file | ||
| 1718 | 1718 | ||
| 1719 | - Enhancements to the :command:`qpdf` Command-line | 1719 | - Enhancements to the :command:`qpdf` Command-line |
| 1720 | Tool. All new options listed here are documented in more detail in | 1720 | Tool. All new options listed here are documented in more detail in |
| 1721 | - :ref:`ref.using`. | 1721 | + :ref:`using`. |
| 1722 | 1722 | ||
| 1723 | - The option | 1723 | - The option |
| 1724 | :samp:`--linearize-pass1={file}` | 1724 | :samp:`--linearize-pass1={file}` |
| @@ -1774,7 +1774,7 @@ For a detailed list of changes, please see the file | @@ -1774,7 +1774,7 @@ For a detailed list of changes, please see the file | ||
| 1774 | the encryption key used by a file. This is a non-standard | 1774 | the encryption key used by a file. This is a non-standard |
| 1775 | operation, but it can be useful in certain situations. Please see | 1775 | operation, but it can be useful in certain situations. Please see |
| 1776 | the discussion of :samp:`--password-is-hex-key` in | 1776 | the discussion of :samp:`--password-is-hex-key` in |
| 1777 | - :ref:`ref.basic-options` or the comments around | 1777 | + :ref:`basic-options` or the comments around |
| 1778 | ``QPDF::setPasswordIsHexKey`` in | 1778 | ``QPDF::setPasswordIsHexKey`` in |
| 1779 | :file:`QPDF.hh` for additional details. | 1779 | :file:`QPDF.hh` for additional details. |
| 1780 | 1780 | ||
| @@ -1832,10 +1832,10 @@ For a detailed list of changes, please see the file | @@ -1832,10 +1832,10 @@ For a detailed list of changes, please see the file | ||
| 1832 | 1832 | ||
| 1833 | - Enhancements to the :command:`qpdf` Command-line | 1833 | - Enhancements to the :command:`qpdf` Command-line |
| 1834 | Tool. All new options listed here are documented in more detail in | 1834 | Tool. All new options listed here are documented in more detail in |
| 1835 | - :ref:`ref.using`. | 1835 | + :ref:`using`. |
| 1836 | 1836 | ||
| 1837 | - Command-line arguments can now be read from files or standard | 1837 | - Command-line arguments can now be read from files or standard |
| 1838 | - input using ``@file`` or ``@-`` syntax. Please see :ref:`ref.invocation`. | 1838 | + input using ``@file`` or ``@-`` syntax. Please see :ref:`invocation`. |
| 1839 | 1839 | ||
| 1840 | - :samp:`--rotate`: request page rotation | 1840 | - :samp:`--rotate`: request page rotation |
| 1841 | 1841 | ||
| @@ -2147,7 +2147,7 @@ For a detailed list of changes, please see the file | @@ -2147,7 +2147,7 @@ For a detailed list of changes, please see the file | ||
| 2147 | ``QPDFWriter::setMinimumPDFVersion`` and | 2147 | ``QPDFWriter::setMinimumPDFVersion`` and |
| 2148 | ``QPDFWriter::forcePDFVersion`` that accept an extension level, | 2148 | ``QPDFWriter::forcePDFVersion`` that accept an extension level, |
| 2149 | and extended syntax for specifying forced and minimum versions on | 2149 | and extended syntax for specifying forced and minimum versions on |
| 2150 | - the command line as described in :ref:`ref.advanced-transformation`. Corresponding functions | 2150 | + the command line as described in :ref:`advanced-transformation`. Corresponding functions |
| 2151 | have been added to the C API as well. | 2151 | have been added to the C API as well. |
| 2152 | 2152 | ||
| 2153 | - Minor fixes to prevent qpdf from referencing objects in the file | 2153 | - Minor fixes to prevent qpdf from referencing objects in the file |
| @@ -2294,17 +2294,17 @@ For a detailed list of changes, please see the file | @@ -2294,17 +2294,17 @@ For a detailed list of changes, please see the file | ||
| 2294 | 2294 | ||
| 2295 | - Support for page selection (splitting and merging PDF files) has | 2295 | - Support for page selection (splitting and merging PDF files) has |
| 2296 | been added to the :command:`qpdf` command-line | 2296 | been added to the :command:`qpdf` command-line |
| 2297 | - tool. See :ref:`ref.page-selection`. | 2297 | + tool. See :ref:`page-selection`. |
| 2298 | 2298 | ||
| 2299 | - Options have been added to the :command:`qpdf` | 2299 | - Options have been added to the :command:`qpdf` |
| 2300 | command-line tool for copying encryption parameters from another | 2300 | command-line tool for copying encryption parameters from another |
| 2301 | - file. See :ref:`ref.basic-options`. | 2301 | + file. See :ref:`basic-options`. |
| 2302 | 2302 | ||
| 2303 | - New methods have been added to the ``QPDF`` object for adding and | 2303 | - New methods have been added to the ``QPDF`` object for adding and |
| 2304 | - removing pages. See :ref:`ref.adding-and-remove-pages`. | 2304 | + removing pages. See :ref:`adding-and-remove-pages`. |
| 2305 | 2305 | ||
| 2306 | - New methods have been added to the ``QPDF`` object for copying | 2306 | - New methods have been added to the ``QPDF`` object for copying |
| 2307 | - objects from other PDF files. See :ref:`ref.foreign-objects` | 2307 | + objects from other PDF files. See :ref:`foreign-objects` |
| 2308 | 2308 | ||
| 2309 | - A new method ``QPDFObjectHandle::parse`` has been added for | 2309 | - A new method ``QPDFObjectHandle::parse`` has been added for |
| 2310 | constructing ``QPDFObjectHandle`` objects from a string | 2310 | constructing ``QPDFObjectHandle`` objects from a string |