PhantomJSでHTMLファイルをpngに変換するスクリプトを書いた
MITライセンスです。
ソースは https://github.com/hnakamur/html2png に置きました。
ソース
短いのでここにも引用します。
件名で変換と言っていますが、openでウェブページを開いてrender APIを使ってスクリーンショットをとっているだけです。
#!/usr/bin/env phantomjs
var page = require('webpage').create();
var system = require('system');
if (system.args.length !== 3) {
console.log('Usage: ' + system.args[0] + ' html_file png_file');
phantom.exit(1);
}
var htmlFile = system.args[1];
var pngFile = system.args[2];
page.open(htmlFile, function(status) {
if (status === 'fail') {
console.log('Error! failed to open ' + htmlFile);
phantom.exit(1);
}
page.evaluate(function() {
document.body.bgColor = 'white';
});
page.render(pngFile);
phantom.exit();
});
PhantomJSはデフォルトの背景色は透明ですが、FAQ | PhantomJSの"Q: When using render(), why is the background transparent?"のコードを使って白にしています。
使い方
事前にPhantomJS | PhantomJSをインストールしてPATHを通しておいてください。
./html2png HTMLのファイルパスまたはURL PNGのファイルパス
出力例
./html2png http://phantomjs.org/ phantomjs.org.png
./html2png http://phantomjs.org/ phantomjs.org.png
で変換した例です。
Author And Source
この問題について(PhantomJSでHTMLファイルをpngに変換するスクリプトを書いた), 我々は、より多くの情報をここで見つけました https://qiita.com/hnakamur/items/bba69323a9282bbe0e66著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .