2012-06-07 16 views
11

使用,是否有一种方法来控制DPI设置光栅化使用page.render(filename)方法web内容的图像时使用?控制DPI()

我找不到任何可以通过the interface api控制这个的东西,但不知道是否有人已经想出了一个办法来做到这一点。

我们的业务情况是这样的:

通过一个Web应用程序创建自定义HTML内容被送到我们rasterize.js幻象过程中查询特定标签设置客户端矩形。 此客户端矩形渲染到可随后用于其他地方作为图像的HTML的PNG。

我们希望得到的PNG的分辨率高于默认值,这是由于某些奇怪字体大小/粗体组合的文本出现混淆。

+0

记录在一个PNG的分辨率显示它时,通常被忽略。在编辑器中打开它时,它看起来没问题吗? –

+2

没有了,这是个问题。他们将PNG包含在PDF中,据推测它保持了分辨率,并且产生了“难以阅读的文本” –

+0

啊,你已经发现了一个不会忽略分辨率的情况。你可能想的96 –

回答

2

我可DPI混合了别的东西,但你看入zoomFactor选项?在页面对象上设置会导致渲染的图像放大。

0

这个分支允许设置DPI https://github.com/martonw/phantomjs/tree/issue-%2313553

您可以设置则dpi,采用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(); 
});