`a2ps` was the answer. I installed it with brew:
`brew install a2ps`
Now I can `a2ps myfilename` and it works.
Unfortunately it comes out landscape and if I try to make it portrait it's squished over to the left and tiny, only up taking 50% of the page. [upate - found fix to this with parameter -1 (for number of pages to find on one sheet - the default was 2)
However as landscaped it worked and the code has the `fixed format` style I was looking for.