Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including mt-printscreen with all npm packages installed. Try it out:

var mtPrintscreen = require("mt-printscreen")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

mt-printscreen v1.0.1

Take a printscreen of a website on server side

printscreen.js

Easier website screenshots in Node.js

Features

Install

npm install --save-dev mt-printscreen

Usage

const printscreen = require('mt-printscreen');

printscreen('http://google.com', {

  /*
   * Optional: Define a suitable viewport size
   */
  viewport: {
    width: 1650,
    height: 1060
  },

  /*
   * Optional: Define the time between the page being initiated and the printscreen taken
   */
  timeout: 1000,

  /*
   * Optional: Define the format of the printscreen taken (pdf|png|jpeg)
   */
  format: 'png',

  /*
   * Optional: Define directory where output file will be saved
   */
  dir: '.',

  /*
   * Optional: Define the name of output file
   */
  fileName: 'output',

  /*
   * Optional: Define the quality of the printscreen taken (0-100)
   */
  quality: 75,

  /*
   * Optional: Define a capture function which is injected into the webview before the printscreen is made
   * The returned output is available in the callback (see below)
   */
  capture: function () {

    var divs = document.querySelectorAll('div').length;

    return {
      divs: divs
    };
  }
}, (err, data) => {

  /*
   * Optional: Callback definition
   * data is the result returned from the capture method
   */
  require('fs').stat(data.file, (err, stats) =>
    console.log(`
      - There are ${data.output.divs} divs in this page.
      - Your screenshot is available at ${data.file} and is ${stats.size} bytes.
    `));
});

Tests

$ npm test

Contributing

Contributions welcome; Please submit all pull requests against the master branch.

Author

Minh Thanh nlug27@gmail.com base on Ruben Stolk ruben.stolk@changer.nl http://github.com/rubenstolk

License

  • MIT : http://opensource.org/licenses/MIT
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free