Jak wydrukować wyjście drzewa do pdf bez utraty koloru?

18

Używam następującego polecenia, aby wydrukować strukturę katalogów do pliku:

tree -h somepath/ > tree_of_somepath.txt

treedaje ładne kolorowe wyjście na terminalu, ale zgodnie z oczekiwaniami nie można go przekierować do pliku tekstowego. Chciałbym wydrukować wyjście treedo pliku pdf i zachować kolor.

Jakieś pomysły?

Bruni
źródło
Jeśli nie potrzebujesz koloru (tak jak OP), nadal możesz uzyskać użyteczne wyjście drzewa za pomocą tree -n -d --charset unicode > file. Zdecydowanie nie jest tak ładny, ale używam go z monochromatyczną drukarką laserową, gdy gromadzę pliki danych itp.
Joe

Odpowiedzi:

20
  1. Zainstaluj następujące zależności:

    sudo apt-get install aha wkhtmltopdf
    
  2. Zapisz treedane wyjściowe polecenia w formacie HTML za pomocą aha:

    tree -C -h | aha > foo.html
    

    Na treestronie podręcznika -Cwymusza kolorowanie:

        -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. Na koniec wyeksportuj html do pdf za pomocą wkhtmltopdf:

    wkhtmltopdf foo.html foo.pdf
    

Przykład:

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

wprowadź opis zdjęcia tutaj

Sylvain Pineau
źródło
Idealnie, chociaż pominąłem - czarny, aby zaoszczędzić trochę tonera, gdy wyląduje na papierze;)
Bruni
@Bruni Dobry pomysł :) Pozwól mi edytować odpowiedź
Sylvain Pineau,
$ wkhtmltopdf foo.html foo.pdf wkhtmltopdf: nie można połączyć się z serwerem X
sree