Интересный вопрос. Я немного поискал и нашел в этот проект
https://code.google.com/p/code-to-pdf/
Из описания понятно, что он печатает 1 файл. Но если проект хорошо делает эту задачу, то автоматизировать обход дерева файлов проекта и вызов этой тулзы для каждого файла должно быть легко. Полученные пдф-ки можно склеить какой-то другой тулзой.
Возможно, этот проект может печатать в пдф сразу много файлов (дерево файлов возможно).
Лично не пробовал.
UPD:
Пусть source папка проекта, и допустим это джава. В папку output будем ложить пдфки.
#!/bin/bash
find source -name '*.java' -exec bash -c 'code-to-pdf $0 output/$0.pdf' {} \; //находим все файлы джава, дергаем для каждого код-ту-пдф и пдфку сохраняем в папке аутпут.
convert output/*.pdf out.pdf // склеиваем все пдфки в один out.pdf