PhantomJS - Zrzut ekranu
PhantomJS jest bardzo pomocny przy robieniu zrzutu ekranu strony internetowej i konwertowaniu strony internetowej do formatu PDF. Podaliśmy tutaj prosty przykład, aby zademonstrować, jak to działa.
Przykład
var page = require('webpage').create();
page.open('http://phantom.org/',function(status){
page.render('phantom.png');
phantom.exit();
});
Uruchom powyższy program, a dane wyjściowe zostaną zapisane jako phantom.png.
Konwertuj strony internetowe na pliki PDF
PhantomJS pomaga również konwertować strony internetowe do plików PDF z dodanym nagłówkiem i stopką. Spójrz na poniższy przykład, aby zrozumieć, jak to działa.
var wpage = require('webpage').create();
var url = "https://en.wikipedia.org/wiki/Main_Page";
var output = "test.pdf";
wpage.paperSize = {
width: screen.width+'px',
height: '1500px',
margin: {
'top':'50px',
'left':'50px',
'rigtht':'50px'
},
orientation:'portrait',
header: {
height: "1cm",
contents: phantom.callback(function(pageNumber, nPages) {
return "<h5>Header <b>" + pageNumber + " / " + nPages + "</b></h5>";
})
},
footer: {
height: "1cm",
contents: phantom.callback(function(pageNumber, nPages) {
return "<h5>Footer <b>" + pageNumber + " / " + nPages + "</b></h5>";
})
}
}
wpage.open(url, function (status) {
if (status !== 'success') {
console.log('Page is not opening');
phantom.exit();
} else {
wpage.render(output);
phantom.exit();
}
});
Powyższy program generuje następujące dane output.
The above will convert the page into pdf and will be saved in test.pdf
Przekonwertuj płótno na obraz
Phantomjs może łatwo przekonwertować płótno na obraz. Spójrz na poniższy przykład, aby zrozumieć, jak to działa.
var page = require('webpage').create();
page.content = '<html><body><canvas id="surface" width="400" height="400"></canvas></body></html>';
page.evaluate(function() {
var context,e1;
el = document.getElementById('surface');
context = el.getContext('2d');
context.font = "30px Comic Sans MS";
context.fillStyle = "red";
context.textAlign = "center";
context.fillText("Welcome to PhantomJS ", 200, 200);
document.body.style.backgroundColor = 'white';
document.body.style.margin = '0px';
});
page.render('canvas.png');
phantom.exit();
Powyższy program generuje następujące dane output.