# Install cpdf with Homebrew, apk, dnf, winget

PDF Command-line Tools. Version 2.9.1 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:cpdf
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install cpdf
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add cpdf
```

  Evidence: Alpine Linux edge package indexes: cpdf from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install cpdf
```

  Evidence: Fedora Rawhide package metadata: cpdf from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

### Windows

- winget (92%):

```sh
winget install --id CoherentGraphics.Cpdf -e
```

  Evidence: Windows Package Manager source index: CoherentGraphics.Cpdf from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:cpdf
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/cpdf>
- **Version:** 2.9.1
- **Source summary:** PDF Command-line Tools
- **Homepage:** <https://github.com/johnwhitington/cpdf-source>
- **Repository:** <https://github.com/johnwhitington/cpdf-source>
- **Upstream docs:** <https://github.com/johnwhitington/cpdf-source#readme>
- **License:** AGPL-3.0-only
- **Source archive:** <https://github.com/johnwhitington/cpdf-source/archive/refs/tags/v2.9.1.tar.gz>
- **Last updated:** 2026-06-22T14:03:05-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- cpdf (cli)
- cpdf (alias)

## Dependencies

- camlpdf
- ocaml

## Build dependencies

- ocaml-findlib

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.9.1
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://github.com/johnwhitington/cpdf-source
- Upstream latest detected: v2.9.1 (current)
## Project history and usage

cpdf is the Coherent PDF command-line tool for editing PDF files, distributed as source under the AGPL with separate commercial licensing available from Coherent Graphics.

### Project history

The official source README describes cpdf as both a command-line PDF editing tool and an OCaml library. It directs binary users to a separate cpdf-binaries repository and tells source users to build tagged versions rather than the unstable master branch.

### Adoption history

Official packaging information in the README includes OPAM installation for the OCaml library and notes that cpdf may also be available from package managers. The batch source facts list Homebrew, Alpine, Fedora-family, and winget mappings, showing distribution beyond the upstream binary channel.

### How it is used

cpdf is used as a command-line document-processing tool for PDF manipulation. The upstream documentation is a PDF manual, while the source tree also builds OCaml library documentation after compilation.

### Why package nerds care

cpdf is packaging-relevant because it combines a CLI binary, an OCaml library, AGPL/commercial licensing choices, OPAM installation, upstream binary releases, and downstream OS package entries. That mix affects how packagers choose source tags, license metadata, and binary placement.

### Timeline

- Tagged releases: The README instructs GitHub source users to choose a version tag such as v2.9.1.
- 2023: The README notes PDF/UA support was implemented under NLnet grant 2023-12-031.
- 2025: The README notes redaction support is being implemented under NLnet grant 2025-10-235.
- 2026: The README carries Coherent Graphics Ltd copyright through 2026.

### Related projects

- The README names camlpdf as a build prerequisite and lists related C, Python, Java, .NET, and JavaScript interfaces, including cpdflib-source, pycpdflib, jcpdf, dotnet-libcpdf, and coherentpdf.js.

### Sources

- <https://github.com/johnwhitington/cpdf-source#readme>
- <https://www.coherentpdf.com/cpdfmanual.pdf>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** cpdf
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- apk - cpdf - 2.9-r0: normalized package name match | Alpine Linux edge package indexes: cpdf from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Coherent PDF command line tools | https://community.coherentpdf.com/
- apk - cpdf-doc - 2.9-r0: normalized package name match | Alpine Linux edge package indexes: cpdf-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Coherent PDF command line tools (documentation) | https://community.coherentpdf.com/
- apk - libcpdf - 2.9-r0: normalized package name match | Alpine Linux edge package indexes: libcpdf from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Coherent PDF command line tools (libraries) | https://community.coherentpdf.com/
- apk - libcpdf-dev - 2.9-r0: normalized package name match | Alpine Linux edge package indexes: libcpdf-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Coherent PDF command line tools (development files) | https://community.coherentpdf.com/
- apk - libcpdf-static - 2.9-r0: normalized package name match | Alpine Linux edge package indexes: libcpdf-static from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Coherent PDF command line tools (static library) | https://community.coherentpdf.com/
- apk - ocaml-camlpdf - 2.9-r0: normalized package name match | Alpine Linux edge package indexes: ocaml-camlpdf from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | OCaml library for reading, writing, and modifying PDF files | https://community.coherentpdf.com/
- apk - ocaml-cpdf - 2.9-r0: normalized package name match | Alpine Linux edge package indexes: ocaml-cpdf from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Coherent PDF command line tools (OCaml library) | https://community.coherentpdf.com/
- dnf - cpdf - 2.9-1.fc45: normalized package name match | Fedora Rawhide package metadata: cpdf from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Command line tool for processing PDFs | https://github.com/johnwhitington/cpdf-source
- winget - CoherentGraphics.Cpdf: normalized package name match | Windows Package Manager source index: CoherentGraphics.Cpdf from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [ocaml](https://www.automicvault.com/pkg/brew/ocaml/) - Runtime dependency declared by Homebrew.
- [ocaml-findlib](https://www.automicvault.com/pkg/brew/ocaml-findlib/) - Build dependency declared by Homebrew.
- [briss](https://www.automicvault.com/pkg/brew/briss/) - Shares av.db curated category or tags: cli, pdf, productivity.
- [diff-pdf](https://www.automicvault.com/pkg/brew/diff-pdf/) - Shares av.db curated category or tags: cli, pdf, productivity.
- [fop](https://www.automicvault.com/pkg/brew/fop/) - Shares av.db curated category or tags: cli, document-processing, pdf, productivity.
- [latexdiff](https://www.automicvault.com/pkg/brew/latexdiff/) - Shares av.db curated category or tags: cli, document-processing, productivity.
- [opendetex](https://www.automicvault.com/pkg/brew/opendetex/) - Shares av.db curated category or tags: cli, document-processing, productivity.
- [pdfpc](https://www.automicvault.com/pkg/brew/pdfpc/) - Shares av.db curated category or tags: cli, pdf, productivity.
- [xpdf](https://www.automicvault.com/pkg/brew/xpdf/) - Shares av.db curated category or tags: cli, pdf, productivity.
- [a2ps](https://www.automicvault.com/pkg/brew/a2ps/) - Shares av.db curated category or tags: cli, document-processing, productivity.
- [invoice](https://www.automicvault.com/pkg/brew/invoice/) - Both packages work with overlapping file formats or content types. Shared terms: cli, command-line, line, pdf, productivity.
- [fancy-cat](https://www.automicvault.com/pkg/brew/fancy-cat/) - Both packages work with overlapping file formats or content types. Shared terms: cli, document, pdf, productivity.

## Combined YAML source

View the package source record on GitHub. [combined/cpdf.yml](https://github.com/automic-vault/db/blob/main/combined/cpdf.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
