Skip to content
This repository has been archived by the owner on Aug 31, 2019. It is now read-only.

runjuu/page2image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“· page2image

npm version Total downloads Build Status PRs Welcome Greenkeeper badge MIT Licence

page2image is an npm package using Headless Chrome for taking screenshots which also provides CLI command

Using By Module πŸ“¦

Install

npm i page2image --save

Quick Examples

import Screenshot from 'page2image';

const screenshot = new Screenshot({
  waitUntil: 'networkidle2',
  viewportConfig: { width: 1920, height: 1080 },
  screenshotConfig: { fullPage: true, path: 'screenshot.png' },
});

screenshot
 Β .takeScreenshot('https://github.com/Runjuu')
  .then(process.exit);

Methods

takeScreenshot(url:string)

Accept a url string as an argument and return an image Buffer

init(Config)

Accept a Config object and next time calling takeScreenshot will using new config to take screenshot

Config: {}


Using By CLI ⌨️

Install

npm i page2image --global

Quick Examples

# Single page
> page2image https://github.com/Runjuu --type=jpeg --quality=80

# Multi-page
> page2image https://github.com/Runjuu https://github.com/Runjuu --type=jpeg --quality=80

# Local file
> page2image ./index.html --type=jpeg --quality=80

Args <argv>: <default value>

width: 1366

Page width in pixels.

height: 768

Page height in pixels, default will take a full page screenshot.

type: png

Specify screenshot type, could be either 'jpeg' or 'png'.

quality: 100

The quality of the image, between 0-100. Not applicable to png images.

dpr: 2

Specify device scale factor.

selector: null

take a screenshot for the selected element

page2image https://github.com/Runjuu --selector=".js-contribution-graph"

disableJS: false

To disable JavaScript on the page.

waitUntil: networkidle2

When to consider navigation succeeded. more details

sleep: 0

if sleep is a number

Wait ${sleep} milliseconds to take screenshot.

if sleep is a selector

Wait for the selector to appear in page

emulate: false

List of all available devices is available in the source code. Below is an example of using emulate args to emulate iPhone 6

page2image https://github.com/Runjuu --emulate=iPhone6 

scrollToBottom: false

Wait till viewport scroll to the bottom of the page

named: <default using url to named>

Name of screenshot

path: <default using current path>

Path to save the screenshot

page2image https://github.com/Runjuu --path=../
page2image https://github.com/Runjuu --path=/User/someone/
page2image https://github.com/Runjuu --path=~/Downloads



To Do

  • take screenshots via url
  • take screenshots from local html file
  • take multiple screenshots from file

πŸ€” have any questions? πŸ‘‰Β new issues πŸ˜‰

About

πŸ“· page2image is a npm package for taking screenshots which also provides CLI command

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published