使用phantomjs,有没有办法控制使用page.render(filename)
方法栅格化网页内容图像时使用的DPI设置?
我找不到任何可以通过the interface api来控制这一点的内容,但不知道是否有人已经想出办法来做到这一点。
我们的商业案例如下:
通过Web应用程序创建的自定义HTML内容将提供给我们的rasterize.js幻像进程,并查询特定标记以设置客户端矩形。 此客户端矩形呈现为HTML的PNG,然后可以在其他地方用作图像。
我们希望生成的PNG的分辨率高于默认值,因为在某些奇怪的字体大小/粗体组合上对文本进行锯齿处理。
答案 0 :(得分:2)
我可能会将DPI与其他东西混在一起,但你有没有看过zoomFactor选项?在页面对象上设置它将导致渲染图像缩放。
答案 1 :(得分:0)
This fork allows setting the dpi https://github.com/martonw/phantomjs/tree/issue-%2313553
You can set then the dpi with page.dpi = 72
console.log('Loading a web page');
var page = require('webpage').create();
var url = 'http://phantomjs.org/';
page.open(url, function (status) {
//Page is loaded!
page.dpi=300; // this is where you actually set the DPI
page.render("test.pdf");
phantom.exit();
});