A command-line wrapper for generating PDF prints and PNG screenshots with Puppeteer. Aims to be a easy replacement for the deprecated wkhtmltopdf.
npm install -g puppeteer-cli
puppeteer print <url> [output]
Print an HTML file or URL to PDF
Options:
--version Show version number [boolean]
--help Show help [boolean]
--sandbox [boolean] [default: true]
--timeout [number] [default: 30000]
--wait-until [string] [default: "load"]
--cookie Set a cookie in the form "key:value". May be repeated
for multiple cookies. [string]
--background [boolean] [default: true]
--margin-top [default: "6.25mm"]
--margin-right [default: "6.25mm"]
--margin-bottom [default: "14.11mm"]
--margin-left [default: "6.25mm"]
--format [default: "Letter"]
--landscape [boolean] [default: false]
--display-header-footer [boolean] [default: false]
--header-template [string] [default: ""]
--footer-template [string] [default: ""]
puppeteer screenshot <url> [output]
Take screenshot of an HTML file or URL to PNG
Options:
--version Show version number [boolean]
--help Show help [boolean]
--sandbox [boolean] [default: true]
--timeout [number] [default: 30000]
--wait-until [string] [default: "load"]
--cookie Set a cookie in the form "key:value". May be repeated for
multiple cookies. [string]
--full-page [boolean] [default: true]
--omit-background [boolean] [default: false]
--viewport Set viewport to a given size, e.g. 800x600 [string]
puppeteer snapshot <url> [output]
Capture rendered HTML of a file or URL
Options:
--version Show version number [boolean]
--help Show help [boolean]
--sandbox [boolean] [default: true]
--timeout [number] [default: 30000]
--wait-until [string] [default: "load"]
--cookie Set a cookie in the form "key:value". May be repeated for
multiple cookies. [string]
--viewport Set viewport to a given size, e.g. 800x600 [string]
echo "<h1>Hello world!</h1>" > mypage.html
puppeteer print mypage.html myprint.pdf # local file
puppeteer print https://github.com/JarvusInnovations/puppeteer-cli puppeteer-cli.pdf # url
puppeteer screenshot mypage.html myscreenshot.png # local file
puppeteer screenshot https://jarv.us myscreenshot.png # url
puppeteer screenshot https://jarv.us myscreenshot.png --viewport 300x200
puppeteer snapshot mypage.html rendered.html # capture rendered HTML of local file
puppeteer snapshot https://jarv.us rendered.html # capture rendered HTML of URL
- Add
print
command - Add support for
http://
inputs in addition to local file paths - Add
screenshot
command - Add compatibility with
wkhtmltopdf
parameters to provide a drop-in replacement? - Detect
.json
or.js
files as input toscreenshot
command instead of a single HTML file or URL, specifying a set of screenshots to capture in series