heroku网页截图服务搭建流程:
基于nodejs与phantomjs可以在heroku上搭建网页截图服务(Screenshot as a Service)
示例页面:http://screenshot.bookshadow.com/
该服务基于github的项目https://github.com/fzaninotto/screenshot-as-a-service的heroku分支版本
- 1. git clone https://github.com/GoBoundless/screenshot-as-a-service.git
- 2. cd screenshot-as-a-service
- 3. npm install
- 4. heroku create --stack cedar --buildpack https://github.com/ddollar/heroku-buildpack-multi.git
- 5. 修改config/default.yaml,将path: '/tmp/' 修改为 '/app/tmp/' (heroku的/tmp/目录禁止程序写入,使用该目录直接部署会报错Error: ENOENT)
- 6. heroku config:set PATH=/app/bin:/app/node_modules/bin:/usr/local/bin:/usr/bin:/bin:/app/vendor/phantomjs/bin
- 7. git add -A
- 8. git commit -am "InitRepo"
- 9. git push heroku master
- 10. heroku ps:scale web=1
关于中文字体:
heroku系统默认不包含中文字体,因此缺省设置下phantomjs截取中文页面时文字会变成方框,无法正常显示。
要支持中文字体显示,只需在步骤5之后再执行下面的步骤:
- 5.1 mkdir .fonts (在screenshot-as-a-service目录下)
- 5.2 将ttf格式的中文字体文件(比如微软雅黑)拷贝到.fonts目录下
执行上述步骤后即可在截图时正常显示中文了,日语字体与韩文字体同理,需注意的是字体格式必须为ttf,ttc的不可以。
本文链接:http://bookshadow.com/weblog/2014/05/07/nodejs-phantomjs-heroku-screenshot-service/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。