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ê.