electron-screenshot-service
Take screenshots using electron
Install
npm install electron-screenshot-service
Usage
var fs = require('fs');
var screenshot = require('electron-screenshot-service');
screenshot({
url : 'http://google.de',
width : 1024,
height : 768
})
.then(function(img){
fs.writeFile('./out.png', img.data, function(err){
screenshot.close();
});
});
screenshot(options)
Will return a Promise containing an object like:
{
data: <Buffer >
size: {
width: X
height: N
}
}
In addition to all options that can be passed to the BrowserWindow you can pass:
delay
Type: number
(milliseconds)
Default: 0
Delay capturing the screenshot.
Useful when the site does things after loading that you want to capture.
width
Type: number
Default: 0
Specify the with of the browser window
height
Type: number
Default: 0
Specify the height of the browser window
crop
Type: Object
Default: undefined
An crop object may look like this:
{
x : 10,
y : 10,
width : 100,
height : 100
}
css
Type: String
Default: undefined
This css will be injected into the page before the screenshot is taken.
js
Type: String
Default: undefined
It must contain a function definition that takes on parameter e.g.
js: 'function(takeScreenshot){ /*Do some stuff*/ takeScreenshot();}'
or
js: 'takeScreenshot => { /*Do some stuff*/ takeScreenshot();}'
transparent
Type: Boolean
Default: false
This will enable transparency. Keep in mind that most site do set a background color on the html/body tag.
You can overwrite this by using the css
option using something like html,body{ background-color: transparent !important;}
.
page
Type: Boolean
Default: false
This will try to capture the whole page. width
and height
are considered the minimum size.
screenshot.close()
Will close the screenshot service. Needed to let the node process exit
screenshot.scale(scale)
Scale the number of electron processes to scale
processes. This will round-robin the screenshot
jobs across scale
instances.
Changelog
4.0.3
- Update to
[email protected]
4.0.2
- Update to
[email protected]
- Add version to sub-package fixing #33
4.0.1
- Update to
[email protected]
4.0.0
- Update to
[email protected]
3.3.1
- Update to
[email protected]
3.3.0
- Update to
[email protected]
3.2.3
- Fix PORT bug on windows (Thanks to peerbolte)
3.2.2
- Update to
[email protected]
3.2.1
- Fix post install script on windows
3.2.0
- Update to
[email protected]
- Support
options.js
3.1.3
- Update to
[email protected]
- Fix bug in keeping
browserCount
correct. (Thanks to jerbob92)
3.1.2
- Update to
[email protected]
3.1.1
- Fix bug that prevent running in node
^6.0.0
3.1.0
- Update to
[email protected]
- Use
cross-spawn
insated ofcross-spawn-async
- Update dependencies
3.0.0
- Update to
[email protected]
- Update to
[email protected]
2.3.1
- Update to
[email protected]
2.3.0
- Update to
[email protected]
2.2.1
- Fix a bug in
count
not being updated when an electron process dies (Thanks to asafyish) - Update to
[email protected]
2.2.1
- Fix installation on windows (#14)
2.2.0
- Upgrade to
[email protected]
. - Update to
[email protected]
2.1.0
- Upgrade to
[email protected]
. - Update to
[email protected]
fixing #11
2.0.0
- Upgrade to
[email protected]
. - Fix race-condition in error reporting.
- Add
screenshot.scale
API
1.7.0
- Upgrade to
[email protected]
.
1.6.0
- Upgrade to
[email protected]
.
1.5.3
- Upgrade to
[email protected]
.
1.5.3
1.5.2
- Upgrade to
[email protected]
.
1.5.1
- Upgrade to
[email protected]
.
1.5.0
- Upgrade to
[email protected]
.
1.4.1
- Upgrade to
[email protected]
.
1.4.0
- Upgrade to
[email protected]
.
1.3.1
- Upgrade to
[email protected]
. - Upgrade to
[email protected]
.
1.3.0
- Upgrade to
[email protected]
.
1.2.2
- Upgrade to
[email protected]
.
1.2.1
- Upgrade to
[email protected]
.
1.2.0
- Upgrade to
[email protected]
. - Extract core functionality into electron-screenshot-app (See #4)
1.1.4
- Upgrade to
[email protected]
.
1.1.3
- Upgrade to
[email protected]
.
1.1.1
- Fixed some issues with error handeling
- Stop
electron
from closing when last window was closed
1.1.0
- Upgrade to
[email protected]
. - Use
electron-downloader
. - Add
transparent
support.
1.0.2
- Upgrade to
[email protected]
1.0.1
- Hide the window again.
1.0.0
- Upgrade to
[email protected]
- Renamed to
electron-screenshot-service
0.5.0
- Upgrade to
[email protected]
- The Promise will no return the image
data
andsize
.
0.4.5
- Fix bug on linux (X11)
0.4.4
- Update to atom-shell
.0.22.7
- Improved perfomance by switching to
axon
for ipc.
0.4.3
- Fix scroll jumping
0.4.1
- Cleanup repository
- Remove duplicated dependency to
socket.io-client
0.4.0
- Update to atom-shell
0.20.6
. - Better handeling of pages with iframes
- Include
jquery
because of a "bug" inatom-shell
(See [#254](See electron/electron#254)) - Better error handeling
0.3.2
- Use
window.requestAnimationFrame
to be sure that at least one paint has happend.
0.3.1
- Force a redraw after injecting css
0.3.0
- Add
css
option to inject custom css
0.2.0
- Update to atom-shell
0.20.5
- Add
close()
method
0.1.3
- Update to atom-shell
0.19.5
0.1.2
- Update to atom-shell
0.15.8
0.1.1
- Update to atom-shell
0.15.4
0.1.0
- 0.1.0 Inital release