An OCaml library for reading, writing, and modifying PDF files, serving as the foundation for the CPDF toolchain.
CamlPDF is an OCaml library for reading, writing, and modifying PDF files programmatically. It provides low-level access to PDF document structure and serves as the foundation for the CPDF command-line tool and multi-language API suite. The library enables developers to build custom PDF processing applications and tools.
OCaml developers needing programmatic PDF manipulation, and developers using the CPDF toolchain across C/C++, Java, Python, .NET, or JavaScript who want to understand or extend the underlying engine.
CamlPDF offers a reliable, library-first approach to PDF processing with the type safety and performance benefits of OCaml. It serves as the proven core for the widely-used CPDF toolchain, providing both direct OCaml access and multi-language support through derived APIs.
OCaml library for reading, writing and modifying PDF files
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Powers the CPDF command-line tool and APIs for C/C++, Java, Python, .NET, and JavaScript, enabling cross-platform PDF processing as stated in the README.
Provides low-level access to read, write, and modify PDF files programmatically, serving as the reliable core for professional tools like CPDF.
With copyright from 2007-2026 and use in commercial products, it offers a long-term, maintained foundation for PDF processing.
Includes introductory guides and API documentation online, with links to external resources like books and standards for learning PDF internals.
Requires OCaml knowledge and tooling, which can be a barrier for developers unfamiliar with functional programming or OCaml's limited adoption.
The README warns that the master branch is unstable, forcing users to rely on specific version tags for reliable builds, adding complexity.
Effective use demands understanding of PDF internals, as acknowledged in documentation referencing external texts and ISO standards.
As a low-level library, it lacks pre-built components for common tasks, requiring more manual coding compared to higher-level alternatives.
camlPDF is an open-source alternative to the following products:
pdftk is a command-line tool for manipulating PDF files, such as merging, splitting, encrypting, and watermarking documents.
iText is an open-source library for creating and manipulating PDF files in Java and .NET, supporting advanced PDF features like digital signatures and form filling.
A software development kit that enables developers to create applications and plugins that integrate with Adobe Acrobat and PDF functionality.