Sposobem na wyświetlenie pogrubionego lub kolorowego tekstu w terminalu jest użycie kodów specjalnych ANSI . Na przykład spróbuj tego:
$ echo -e '\ 033 [01; 1m ten tekst będzie pogrubiony \ 033 [00; 0m to nie będzie'
ten tekst będzie pogrubiony to nie będzie
Sekwencja zmiany znaczenia \033[01;1m
powoduje pogrubienie poniższego tekstu i \033[00;0m
wyłączenie wszystkich atrybutów, dzięki czemu wraca do normy.
Zobacz tutaj ładną listę różnych sekwencji ucieczki.
Niestety lp
nie wie jak sobie z tym poradzić. Wie tylko, jak wydrukować pliki postscriptowe. Potrzebujemy zatem sposobu na przekształcenie znaków zmiany znaczenia ANSI w sformatowany postscript. Zaintrygowało mnie to pytanie, dlatego opublikowałem jedno z moich własnych pytań na temat U&L, pytając o sposoby interpretacji znaków ucieczki ANSI jako poleceń postscriptowych. Poniżej znajduje się odpowiedź, którą otrzymałem, proszę ją głosować!
Potrzebne będą następujące narzędzia:
aha
: Ansi HTML Adapter, ten program może tłumaczyć kody specjalne ANSI na HTML.
DESCRIPTION
aha takes SGR-colored Input and prints W3C conform HTML-Code.
aha reads the Input from a file or stdin and writes HTML-Code
to stdout.
Zainstalować:
sudo apt-get install aha
wkhtmltopdf
: Konwerter HTML na PDF.
Description
Converts one or more HTML pages into a PDF document, not using
wkhtmltopdf patched qt.
Zainstalować:
sudo apt-get install wkhtmltopdf
Teraz złóż je wszystkie razem. Użyję tego polecenia, którego wynik pokazano na poniższym obrazku:
echo -e '\033[01;1mbold\033[00;0m,not bold, and \033[32;1mgreen'
Wydrukujmy to:
echo -e '\033[01;1mbold\033[00;0m,not bold, and \033[32;1mgreen' |
aha | wkhtmltopdf - - | lpr
I to wszystko, aby wydrukować ładną, sformatowaną pogrubioną i kolorową linię tekstu.