Skip to content

A command line tool to generate PDF from URLs with electron.

License

Notifications You must be signed in to change notification settings

chriserik/puppeteer-pdf

 
 

Repository files navigation

Puppeteer PDF CLI

HTML to PDF from the command line with Puppeteer.

GitHub stars npm downloads npm license npm version

Help

puppeteer-pdf --help
  Usage: puppeteer-pdf [options]


  Options:

    -V, --version                     output the version number
    -p, --path <path>                 The file path to save the PDF to.
    -s, --scale [scale]               Scale of the webpage rendering. (default: 1)
    -dhf, --displayHeaderFooter       Display header and footer.
    -ht, --headerTemplate [template]  HTML template for the print header.
    -ft, --footerTemplate [template]  HTML template for the print footer.
    -pb, --printBackground            Print background graphics.
    -l, --landscape                   Paper orientation.
    -pr, --pageRanges <range>         Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means print all pages.
    -f, --format [format]             Paper format. If set, takes priority over width or height options. Defaults to 'Letter'. (default: Letter)
    -w, --width [width]               Paper width, accepts values labeled with units.
    -h, --heigh [height]              Paper height, accepts values labeled with units.
    -mt, --marginTop [margin]         Top margin, accepts values labeled with units.
    -mr, --marginRight [margin]       Right margin, accepts values labeled with units.
    -mb, --marginBottom [margin]      Bottom margin, accepts values labeled with units.
    -ml, --marginLeft [margin]        Left margin, accepts values labeled with units.
    -d, --debug                       Output Puppeteer PDF options
    -wu, --waitUntil [choice]         waitUntil accepts choices load, domcontentloaded, networkidle0, networkidle2. Defaults to 'networkidle2'. (default: networkidle2)
    -h, --help                        output usage information

Examples

puppeteer-pdf tests/test.html \
  --path demo.pdf \
  --landscape \
  --debug \
  --waitUntil networkidle0
puppeteer-pdf tests/test.html \
  --path demo-file-header.pdf \
  --landscape \
  --headerTemplate=file://tests/header.html \
  --debug \
  --marginTop 200px \
  --scale 2 \
  --displayHeaderFooter
puppeteer-pdf tests/test.html \
  --path demo-inline-header.pdf \
  --landscape \
  --headerTemplate='<table style="width: 100%; margin-left: 5px; margin-right: 5px; margin-bottom: 0px;"> <tr> <td class="section" style="text-align:left"> <div style="font-size: 10px;"> <p>Report Name</p> <p>Some Text</p></div> </td> <td style="text-align:right"> <div style="font-size: 10px;"> <p>Start - End</p> </div> </td> </tr> </table>' \
  --debug \
  --marginTop 200px \
  --displayHeaderFooter

Running in Docker

Running in Docker is quite straightforward. Please see the sample Dockerfile in this repository for a reference of the necessary flags.

License

MIT

About

A command line tool to generate PDF from URLs with electron.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 87.3%
  • JavaScript 12.7%