Как напечатать вывод дерева в pdf без потери цвета?

18

Я использую следующую команду для печати структуры каталогов в файл:

tree -h somepath/ > tree_of_somepath.txt

treeдает хороший цветной вывод на терминале, но, как и ожидалось, его нельзя перенаправить в текстовый файл. Я хотел бы распечатать вывод treeв PDF-файл и сохранить цвет.

Есть идеи?

Бруни
источник
Если вам не нужен цвет (как это делает OP), вы все равно можете получить пригодный для использования вывод дерева, используя tree -n -d --charset unicode > file. Это определенно не так красиво, но я использую его с монохромным лазерным принтером, когда скучаю по своим файлам данных и т. Д.
Джо

Ответы:

20
  1. Установите следующие зависимости:

    sudo apt-get install aha wkhtmltopdf
    
  2. Сохраните treeвывод вашей команды в html с помощью aha:

    tree -C -h | aha > foo.html
    

    Со treeстраницы руководства , -Cзаставляет раскрашивание:

        -C     Turn colorization on always, using built-in color defaults
               if the LS_COLORS environment variable is not set. Useful to
               colorize output to a pipe.
    
  3. Наконец, экспортируйте HTML в PDF с wkhtmltopdf:

    wkhtmltopdf foo.html foo.pdf
    

Пример:

cd /tmp
tree -C -h | aha > foo.html
wkhtmltopdf foo.html foo.pdf
xdg-open foo.pdf

введите описание изображения здесь

Сильвен Пино
источник
Отлично, хотя я опустил - черный, чтобы сэкономить тонер, когда он попадает на бумагу;)
Бруни
@Bruni Хорошая идея :) Позвольте мне отредактировать ответ
Сильвен Пино
$ wkhtmltopdf foo.html foo.pdf wkhtmltopdf: не удается подключиться к X-серверу
sree