#pdf #font #margin #path #define #image #ignore

bin+lib code-to-pdf

Generates a syntax-highlighted PDF of your source code

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

Download history 359/week @ 2025-03-23

359 downloads per month

MIT license

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