How do I print a web page from a shell prompt or shell script?
You need to use html2ps command convert HTML to PostScript. . The HTML code can be retrieved from one or more URL:s or local files, specified as parameters on the command line. If no parameter is given, html2ps reads from standard input.
Install html2ps
Type the following command under Debian / Ubuntu Linux to install the package:
# apt-get update && apt-get install html2ps
Turn on EPEL repo under Fedora / RHEL / CentOS Linux and type the following command to install html2ps package:
# yum install html2ps
Get HTML source code
Type the following command:
$ html2ps http://example.com/file.html
$ html2ps http://www.cyberciti.biz/tips/networking-subnet-mask.html
To print a web page, pipe output using lpr or lp command:
$ html2ps http://www.cyberciti.biz/tips/networking-subnet-mask.html | lpr
$ html2ps http://www.cyberciti.biz/tips/networking-subnet-mask.html | lp -d hpdjet
Further readings:
- man page lp, lpr and html2ps
🐧 1 comment so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
I have been looking for this solution for 4 days and here it is. I implemented and now I can send print requests to print my invoices on network printer.