2016-01-12 38 views
1

我遇到了使用PhantomJS和phantom将网页呈现为PDF的问题。PNG使用PhantomJS和节点幻像模块进行半渲染?

我注意到的是,虽然SVG和JPGs“完全”加载到生成的PDF中,但PNG图像不会,,但仅限于其在文档中的首次出现。换句话说,第一张图像部分褪色,随后的图像根本不会褪色。

我检查了onResourceLoaded回调,并从服务器正确加载图像。我已经尝试交换http和https,看看是否有所作为。尝试从本地静态文件夹加载,看看它是否是网络延迟。而且我试过在setTimeout中包装page.render(许多人在其他问题上提出的建议)都无济于事。

这是一个已知的问题?有没有更好的解决方法来解决淡出的PNG?不幸的是,在这个项目中,我无法控制什么图像类型进入我的视野。

+0

你能提供你的意思是“褪色”的内容示例(图片)?它是否仅部分加载(例如只有顶部)?模糊?或者实际上已经褪色了(好像有不透明的设置)?这是特定于单个网站,还是发生在所有网站上?你能提供你正在捕捉的网页的网址吗? – jcaron

+0

对不起,它还没有生效,因为我正在测试一个可能的功能供将来使用 - 所以没有URL。但是,这里有一个正在发生的事情[截图](http://imgur.com/0R1svN5)。对于你所说的,就好像不透明度已经被设置为“0.5”或者初始状态。 – afithings

+0

该网站是否实际使用不透明度?例如。加载图像时,或者加载一次动画? – jcaron

回答

0

我遇到了完全相同的问题,并意外发现强制所有元素的边框颜色解决了问题。就我而言,受影响/褪色的元素是图像(jpg)和图表。

所以,像

* { 
    border-color: black !important; 
} 
+0

我必须尝试。我目前的修补程序是将它们全部加载到1x1像素框中,以便后续使用full-res。然而,我的问题在于PNG文件。 – afithings