
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
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages87 Page
-
File Size-