code-to-pdf 0.1.7

Generates a syntax-highlighted PDF of your source code
Documentation

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

Supports loading fonts from a path or the system fonts

# From a path
c2pdf . --font fonts/Helvetica.ttf

# From system fonts
c2pdf . --font "Arial"

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)

Setting custom page text

This is text that is added to every page

c2pdf . --page-text "Hello\nWorld" # (use `\n` to indicate a newline)