CAJ libraries
CAJ is proprietary and undocumented, so only two open-source projects read it. Both are converters to PDF, not general-purpose CAJ libraries: there is no open-source way to create CAJ files.
| Language | Library | Read | Write | Notes |
|---|---|---|---|---|
| Python | caj2pdf | yes | no | the original reverse-engineered converter; CAJ and KDH, partial HN; GLWTPL license (not OSI) |
| Rust | caj2pdf-core | yes | no | engine of caj2pdf-rust: CAJ, KDH, experimental HN/C8/NH; streaming, bounded memory; MIT |
Pick caj2pdf-core for new code: it’s maintained, has a clear license and covers more variants. From other languages, run the caj2pdf binary of caj2pdf-rust as a separate process, or use its npm package caj2pdf-rust from JavaScript.
By language#
- CAJ libraries for Python Open-source Python tool for CNKI CAJ files: caj2pdf, which converts CAJ and KDH files to PDF and extracts the table of contents. Overview and examples.
- CAJ libraries for Rust Open-source Rust library for CNKI CAJ files: caj2pdf-core, the MIT-licensed engine of caj2pdf-rust that converts CAJ, KDH and HN files to PDF. Overview.