Bagaimana cara mencetak output tree ke pdf tanpa kehilangan warnanya?

18

Saya menggunakan perintah berikut untuk mencetak struktur direktori ke file:

tree -h somepath/ > tree_of_somepath.txt

treememberikan output berwarna yang bagus pada terminal, tetapi seperti yang diharapkan ini tidak dapat diarahkan ke file teks. Saya ingin mencetak output treeke file pdf dan mempertahankan warnanya.

Ada ide?

Bruni
sumber
Jika Anda tidak membutuhkan warna (seperti OP), Anda masih bisa mendapatkan output pohon yang dapat digunakan menggunakan tree -n -d --charset unicode > file. Ini jelas tidak cantik, tapi saya menggunakannya dengan printer laser monokrom ketika saya sedang menggiring file data saya, dll.
Joe

Jawaban:

20
  1. Instal dependensi berikut:

    sudo apt-get install aha wkhtmltopdf
    
  2. Simpan treeoutput perintah Anda ke html dengan aha:

    tree -C -h | aha > foo.html
    

    Dari treehalaman manual, -Cmemaksa pewarnaan:

        -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. Akhirnya ekspor html ke pdf dengan wkhtmltopdf:

    wkhtmltopdf foo.html foo.pdf
    

Contoh:

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

masukkan deskripsi gambar di sini

Sylvain Pineau
sumber
Sempurna, meskipun saya menghilangkan --hitam untuk menghemat toner, ketika mendarat di atas kertas;)
Bruni
@ Bruni Ide bagus :) Izinkan saya mengedit jawabannya
Sylvain Pineau
$ wkhtmltopdf foo.html foo.pdf wkhtmltopdf: tidak dapat terhubung ke X server
sree