Coherent PDF

C API and Command Line Tools

User Manual
Version 2.5 (January 2022)

Coherent Graphics Ltd

For bug reports, feature requests and comments, email
contact@coherentgraphics.co.uk

©2022 Coherent Graphics Limited. All rights reserved. ISBN 978-0957671140

Adobe, Acrobat, and Adobe PDF are registered trademarks of Adobe Systems Incorporated. Windows, Powerpoint and Excel are registered trademarks of Microsoft Corporation.

Quickstart Examples
 Chapter 1: Basic Usage
 Chapter 2: Merging and Splitting
 Chapter 3: Pages
 Chapter 4: Encryption and Decryption
 Chapter 5: Compression
 Chapter 6: Bookmarks
 Chapter 7: Presentations
 Chapter 8: Logos, Watermarks and Stamps
 Chapter 9: Multipage Facilities
 Chapter 10: Annotations
 Chapter 11: Document Information and Metadata
 Chapter 12: File Attachments
 Chapter 13: Working with Images
 Chapter 14: Fonts
 Chapter 15: PDF and JSON
 Chapter 16: Optional Content Groups
 Chapter 17: Creating New PDFs
 Chapter 18: Miscellaneous
Example Program in C
Contents
Typographical Conventions
1 Basic Usage
 1.1 Documentation
 1.2 Input and Output Files
 1.3 Input Ranges
 1.4 Working with Encrypted Documents
 1.5 Standard Input and Standard Output
 1.6 Doing Several Things at Once with AND
 1.7 Units
 1.8 Setting the Producer and Creator
 1.9 PDF Version Numbers
 1.10 File IDs
 1.11 Linearization
 1.12 Object Streams
 1.13 Malformed Files
 1.14 Error Handling
 1.15 Control Files
 1.16 String Arguments
 1.17 Text Encodings
 1.18 Font Embedding
 C Interface
2 Merging and Splitting
 2.1 Merging
 2.2 Splitting
 2.3 Splitting on Bookmarks
 2.4 Encrypting with Split and Split Bookmarks
 C Interface
3 Pages
 3.1 Page Sizes
 3.2 Scale Pages
 3.3 Shift Page Contents
 3.4 Rotating Pages
 3.5 Flipping Pages
 3.6 Boxes and Cropping
 3.7 Showing Boxes and Printer’s Marks
 C Interface
4 Encryption and Decryption
 4.1 Introduction
 4.2 Encrypting a Document
 4.3 Decrypting a Document
 C Interface
5 Compression
 5.1 Decompressing a Document
 5.2 Compressing a Document
 5.3 Squeezing a Document
 C Interface
6 Bookmarks
 6.1 List Bookmarks
 6.2 Remove Bookmarks
 6.3 Add Bookmarks
 6.4 Opening bookmarks
 6.5 Making a Table of Contents
 C Interface
7 Presentations
 C Interface
8 Watermarks and Stamps
 8.1 Add a Watermark or Logo
 8.2 Stamp Text, Dates and Times.
 8.3 Stamping Graphics
 8.4 Low-level facilities
 C Interface
9 Multipage Facilities
 9.1 Inserting Blank Pages
 9.2 Imposition
 C Interface
10 Annotations
 10.1 Listing Annotations
 10.2 Copying Annotations
 10.3 Removing Annotations
 C Interface
11 Document Information and Metadata
 11.1 Reading Document Information
 11.2 Setting Document Information
 11.3 XMP Metadata
 11.4 Upon Opening a Document
 11.5 Page Labels
 C Interface
12 File Attachments
 12.1 Adding Attachments
 12.2 Listing Attachments
 12.3 Removing Attachments
 12.4 Dumping Attachments to File
 C Interface
13 Working with Images
 13.1 Extracting images
 13.2 Detecting Low-resolution Images
 13.3 Removing an Image
 C Interface
14 Fonts
 14.1 Listing Fonts
 14.2 Listing characters in a font
 14.3 Copying Fonts
 14.4 Removing Fonts
 14.5 Missing Fonts
 C Interface
15 PDF and JSON
 15.1 Converting PDF to JSON
 15.2 Converting JSON to PDF
 C Interface
16 Optional Content Groups
 C Interface
17 Creating New PDFs
 17.1 A new blank PDF
 17.2 Convert a text file to PDF
 C Interface
18 Miscellaneous
 18.1 Draft Documents
 18.2 Blackening Text, Lines and Fills
 18.3 Hairline Removal
 18.4 Garbage Collection
 18.5 Change PDF Version Number
 18.6 Copy ID
 18.7 Remove ID
 18.8 List Spot Colours
 18.9 PDF Dictionary Entries
 18.10 Removing Clipping
 C Interface
A Dates
 A.1 PDF Date Format
 A.2 XMP Metadata Date Format