Qpdf-Manual.Pdf

Qpdf-Manual.Pdf

QPDF Manual For QPDF Version 10.3.2, May 8, 2021 Jay Berkenbilt QPDF Manual: For QPDF Version 10.3.2, May 8, 2021 Jay Berkenbilt Copyright © 2005–2020 Jay Berkenbilt Table of Contents General Information ............................................................................................................................ v 1. What is QPDF? .............................................................................................................................. 1 2. Building and Installing QPDF ........................................................................................................... 2 2.1. System Requirements ............................................................................................................ 2 2.2. Build Instructions ................................................................................................................. 2 2.3. Crypto Providers .................................................................................................................. 3 2.3.1. Build Support For Crypto Providers .............................................................................. 3 2.3.2. Runtime Crypto Provider Selection ............................................................................... 4 2.3.3. Crypto Provider Information for Developers ................................................................... 4 2.3.4. Crypto Provider Design Notes ...................................................................................... 4 2.4. Notes for Packagers .............................................................................................................. 5 3. Running QPDF ............................................................................................................................... 6 3.1. Basic Invocation ................................................................................................................... 6 3.1.1. Exit Status ................................................................................................................ 6 3.2. Shell Completion .................................................................................................................. 6 3.3. Basic Options ...................................................................................................................... 7 3.4. Encryption Options ............................................................................................................. 11 3.5. Page Selection Options ........................................................................................................ 14 3.6. Overlay and Underlay Options .............................................................................................. 16 3.7. Embedded Files/Attachments Options ..................................................................................... 17 3.8. Advanced Parsing Options .................................................................................................... 18 3.9. Advanced Transformation Options ......................................................................................... 19 3.10. Testing, Inspection, and Debugging Options .......................................................................... 24 3.11. Unicode Passwords ............................................................................................................ 26 4. QDF Mode ................................................................................................................................... 28 5. Using the QPDF Library ................................................................................................................ 30 5.1. Using QPDF from C++ ........................................................................................................ 30 5.2. Using QPDF from other languages ......................................................................................... 30 5.3. A Note About Unicode File Names ........................................................................................ 30 6. QPDF JSON ................................................................................................................................. 32 6.1. Overview ........................................................................................................................... 32 6.2. JSON Guarantees ................................................................................................................ 32 6.3. Limitations of JSON Representation ....................................................................................... 33 6.4. JSON: Special Considerations ............................................................................................... 33 7. Design and Library Notes ............................................................................................................... 35 7.1. Introduction ....................................................................................................................... 35 7.2. Design Goals ...................................................................................................................... 35 7.3. Helper Classes .................................................................................................................... 36 7.4. Implementation Notes .......................................................................................................... 37 7.5. Casting Policy .................................................................................................................... 38 7.6. Encryption ......................................................................................................................... 39 7.7. Random Number Generation ................................................................................................. 40 7.8. Adding and Removing Pages ................................................................................................ 40 7.9. Reserving Object Numbers ................................................................................................... 40 7.10. Copying Objects From Other PDF Files ................................................................................ 41 7.11. Writing PDF Files ............................................................................................................. 41 7.12. Filtered Streams ................................................................................................................ 42 8. Linearization ................................................................................................................................. 43 8.1. Basic Strategy for Linearization ............................................................................................. 43 8.2. Preparing For Linearization .................................................................................................. 43 8.3. Optimization ...................................................................................................................... 43 iii QPDF Manual 8.4. Writing Linearized Files ....................................................................................................... 44 8.5. Calculating Linearization Data .............................................................................................. 44 8.6. Known Issues with Linearization ........................................................................................... 44 8.7. Debugging Note .................................................................................................................. 45 9. Object and Cross-Reference Streams ................................................................................................. 46 9.1. Object Streams ................................................................................................................... 46 9.2. Cross-Reference Streams ...................................................................................................... 46 9.2.1. Cross-Reference Stream Data ..................................................................................... 47 9.3. Implications for Linearized Files ........................................................................................... 47 9.4. Implementation Notes .......................................................................................................... 48 A. Release Notes .............................................................................................................................. 49 B. Upgrading from 2.0 to 2.1 .............................................................................................................. 80 C. Upgrading to 3.0 ........................................................................................................................... 81 D. Upgrading to 4.0 .......................................................................................................................... 82 iv General Information QPDF is a program that does structural, content-preserving transformations on PDF files. QPDF's website is located at http://qpdf.sourceforge.net/. QPDF's source code is hosted on github at https://github.com/qpdf/qpdf. QPDF is licensed under the Apache License, Version 2.0 [http://www.apache.org/licenses/LICENSE-2.0] (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    87 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us