I'm looking for a command-line Unix/Linux program that can take source code in any common programming language and produce a good-looking syntax-highlighted PDF, preferrably with line numbers and with long lines wrapped appropriately. Unicode support is also desirable.

I'm aware of enscript, but its output isn't all that appealing, and it doesn't seem to support Unicode input.

1 Answer 1


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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.