Eu usaria enscript --line-numbers -f fontname --word-wrap --margins=… filename
Nos meus sistemas Linux enscript filename , por padrão, imprime o arquivo na minha impressora padrão (que entende Postscript - não compro nenhum outro tipo).
No OS X, você pode imprimir em um arquivo PDF usando pstopdf :
enscript --line-numbers -p - --word-wrap Session.java | pstopdf -i -o ~/out.pdf
Você pode ajustar as configurações globais ou pessoais do enscript para tornar essas opções padrão, basta digitar um comando enscript filename . Você pode ser capaz de configurar uma opção em seu editor de texto favorito que invoque o comando de script externo para você.