Node.js Phantom JS用于节点,是否使用打印样式表?
我正在使用NodeJS生成PDF 有没有办法让Phantom JS使用打印样式表而不是屏幕样式表进入屏幕截图页面 目前我已经设置好了打印样式表,可以开始了,但是Phantom JS被识别为屏幕设备而不是打印设备 这里有一段代码,你可以看到我在做什么 提前谢谢Node.js Phantom JS用于节点,是否使用打印样式表?,node.js,stylesheet,phantomjs,Node.js,Stylesheet,Phantomjs,我正在使用NodeJS生成PDF 有没有办法让Phantom JS使用打印样式表而不是屏幕样式表进入屏幕截图页面 目前我已经设置好了打印样式表,可以开始了,但是Phantom JS被识别为屏幕设备而不是打印设备 这里有一段代码,你可以看到我在做什么 提前谢谢 var date = Date.now(); var images = []; capture(results.length, 0); function capture(pagesLength, page
var date = Date.now();
var images = [];
capture(results.length, 0);
function capture(pagesLength, pageId) {
if (pagesLength <= 0) {
stopCapture();
}
else {
snapshot(pagesLength, pageId);
}
}
function snapshot(pagesLength, pageId) {
phantom.create(function (ph) {
ph.createPage(function (page) {
page.open("http://127.0.0.1:3000/#/pages/" + results[pageId]["_id"], function (status) {
var fileName = results[pageId]["_id"] + ".jpeg";
images.push(fileName);
page.render("public/temp/" + date + "/" + fileName, {format: 'jpeg', quality: '100'}, function () {
pagesLength--;
pageId++;
ph.exit();
if (pagesLength <= 0) {
mergeImages();
} else {
snapshot(pagesLength, pageId);
}
});
});
});
});
}
var date=date.now();
var图像=[];
捕获(results.length,0);
函数捕获(页面长度、页面ID){
如果(pagesLength您无法更改它,因为它在QtWebkit中是硬编码的
第一名:
如果打印样式表与屏幕样式分开:
<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
<link rel="stylesheet" href="printstyle.css" type="text/css" media="print" />
(^未经测试)
这将产生:
<link rel="stylesheet" href="printstyle.css" type="text/css" media="screen" />
(^也未经测试)
将screen
更改为print
,编译它并享受乐趣。这是可行的,但还不够,因为您必须考虑@媒体屏幕和…
。另请参阅phantomjs问题跟踪程序上的此评论:
<link rel="stylesheet" href="printstyle.css" type="text/css" media="screen" />
FrameView::FrameView(Frame* frame)
...
, m_mediaType("screen")
...