Comment imprimer la sortie de l'arbre en pdf sans perdre la couleur?

18

J'utilise la commande suivante pour imprimer une structure de répertoires dans un fichier:

tree -h somepath/ > tree_of_somepath.txt

treedonne une belle sortie colorisée sur le terminal, mais comme prévu, cela ne peut pas être redirigé vers un fichier texte. Je voudrais imprimer la sortie de treedans un fichier pdf et conserver la couleur.

Des idées?

Bruni
la source
Si vous n'avez pas besoin de la couleur (comme le fait l'OP), vous pouvez toujours obtenir une sortie d'arbre utilisable en utilisant tree -n -d --charset unicode > file. Ce n'est certainement pas aussi joli, mais je l'utilise avec une imprimante laser monochrome lorsque je garde mes fichiers de données, etc.
Joe

Réponses:

20
  1. Installez les dépendances suivantes:

    sudo apt-get install aha wkhtmltopdf
    
  2. Enregistrez la treesortie de votre commande en html avec aha:

    tree -C -h | aha > foo.html
    

    Depuis la treepage de manuel, -Cforce la colorisation:

        -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. Enfin exportez le html en pdf avec wkhtmltopdf:

    wkhtmltopdf foo.html foo.pdf
    

Exemple:

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

entrez la description de l'image ici

Sylvain Pineau
la source
Parfait, bien que j'aie omis le - noir pour économiser du toner, quand il atterrit sur le papier;)
Bruni
@Bruni Bonne idée :) Permettez-moi de modifier la réponse
Sylvain Pineau
$ wkhtmltopdf foo.html foo.pdf wkhtmltopdf: impossible de se connecter au serveur X
voir