pdfcpu

Logo

PDF tooling for Go and the command line.

View the Project on GitHub pdfcpu/pdfcpu


Changelog
Future Directions

Configuration

Generally pdfcpu does not have to be configured.

There is a configuration directory for certificate and user font management and storing the default configuration in effect.

Config Dir

pdfcpu will create this directory at the default user’s config directory on the very first execution of a pdfcpu command.

You can look up its location either like so:

$ pdfcpu version
version: v0.13.0 dev
 config: /Users/horstrutter/Library/Application Support/pdfcpu/config.yml
 commit: f54bb349
   date: 2026-06-02 22:21:59 UTC
     go: go1.26.1

pdfcpu config list will also print the config file path followed by its content.

Please check out the config list command.


Certificates

Certificates are needed for processing digital signatures.
pdfcpu keeps trusted certificates in the configuration directory below certs.

Use:

Certificates are located in the dir tree below certs:

$ tree
..
├── certs
│   ├── root-ca.pem
│   └── intermediate-ca.pem
├── config.yml
└── fonts

User Fonts

User fonts are installed using the font install command.

pdfcpu also stores internal representations of installed user fonts in the config dir.

$ tree
..
├── certs
├── config.yml
└── fonts
    ├── Roboto-Regular.gob
    ├── Unifont-JPMedium.gob
    ├── UnifontMedium.gob
    └── UnifontUpperMedium.gob

Use the –conf flag to set a custom config dir path.

You can also use this flag to disable the usage of a config dir.

This comes in handy in (serverless) environments where the default user’s config directory is not defined - as long as you are not using user fonts or the certificate store.