Если вы не против установить Cygwin или запустить в Linux, следующая команда сделает то, что вы хотите:
enscript -r -2 --file-align=2 --highlight --line-numbers -o - `find . -name '*.java'` | ps2pdf - files.pdf
enscript - программа для преобразования текстовых файлов в различные выходные форматы; По умолчанию используется PostScript, но вы также можете создавать HTML, RTF и некоторые другие. Опция -r
говорит, что печатать в альбомной ориентации, -2
- это два столбца на страницу (сохранять деревья), --file-align=2
говорит, что каждый новый файл должен начинаться на своей физической странице, --highlight
включает подсветку синтаксиса для конкретного языка (он попытается выяснить язык, или вы можете указать «java»), --line-numbers
должно быть очевидным, а -o -
отправляет вывод стандартному выводу (где он передается по каналу ps2pdf ) .
find генерирует список файлов; здесь я говорю, чтобы найти все файлы Java в текущем каталоге. Вывод передается в качестве аргументов enscript ; для "50-100 файлов" у вас должно быть все в порядке, но вам может потребоваться прочитать о xargs . Вы можете избавиться от аргумента -name
, чтобы создать список всех файлов, или добавить несколько аргументов -name
, чтобы добавить больше типов файлов в список; Я бы не стал использовать подход «все файлы», потому что тогда вы получите файлы управления исходным кодом.
ps2pdf берет вывод PostScript из enscript и преобразует его в PDF, который можно распечатать.