I think that it would be well worth your time to explore the Python Sphinx-Doc infrastructure but for just what you asked for you could simply use Pygments & rst2pdf:
With a python 3 installation you can simply
pip install rst2pdf Pygmments rst2pdf will also install ReportLab.
Pygments is a syntax highlighting package written in Python.
It is a generic syntax highlighter for general use in all kinds of software
such as forum systems, wikis or other applications that need to prettify
source code. Highlights are:
- a wide range of common languages and markup formats is supported
- special attention is paid to details, increasing quality by a fair amount
- support for new languages and formats are added easily
- a number of output formats, presently HTML, LaTeX, RTF, SVG, all image
formats that PIL supports, and ANSI sequences
- it is usable as a command-line tool and as a library
- ... and it highlights even Brainfuck!
Pygments gives you a command line utility
pygmentize Of course since you can get LaTex output you can then use the standard system tools to generate PDF files but rst2pdf will allow you to go to pdf directly.