5 releases
Uses new Rust 2024
new 0.1.5 | Mar 29, 2025 |
---|---|
0.1.4 | Mar 27, 2025 |
0.1.3 | Mar 24, 2025 |
0.1.2 | Mar 24, 2025 |
0.1.1 | Mar 24, 2025 |
#1561 in Text processing
359 downloads per month
185KB
567 lines
code-to-pdf
Converts a folder of source code to a fully syntax-highlighted PDF
Features
- Syntax highlights code (uses syntect for highlighting and two-face for syntax definitions)
- Automatically handles line wrapping and page overflowing
- Fast
- Error-tolerant
- Configurable (custom file exclusions, output filename, fonts)
- Displays images
- Respects ignore globs in
.ignore
and.gitignore
(uses ignore)
Installation
From crates.io
cargo install code-to-pdf
Using cargo binstall
Installs a pre-built binary if it is available for your system
cargo binstall code-to-pdf
From this repository
git clone https://github.com/Tommypop2/code-to-pdf
cargo install --path ./code-to-pdf
Usage
Generating a PDF from a folder
c2pdf .
This walks the current folder and generates a syntax-highlighted PDF of all files in that folder
Excluding paths
c2pdf . --exclude pnpm-lock.yaml,*.lock
Custom output path
c2pdf . --out custom_name.pdf
Setting the font
c2pdf . --font fonts/Helvetica.ttf
Setting font size
c2pdf . --font-size 12.5 # 12.0 by default
Setting margins
c2pdf . --margin-top 20 --margin-bottom 5 --margin-left 10 --margin-right 10 # (these are the defaults)
Dependencies
~54MB
~689K SLoC