Phanomjs 未正确捕获网页的屏幕截图

Phanomjs not properly capturing screenshot of a web page

本文关键字:网页 屏幕截图 Phanomjs      更新时间:2023-09-26

我正在测试幻影.js,用于从本地端的网页创建屏幕截图。

这就是 HTML 在本地主机中呈现的方式 - 输出

但是在从代码创建PDF时,PDF中的宽度设置不正确,即某些文本被剪切,如下所示。

以下是我尝试的代码 -

var url = 'http://localhost:5656';
page.open(url);
page.onLoadFinished = function() {
    var pdfName = 'screen';
    page.render(pdfName + ".pdf");
    var height = page.evaluate(function() { return document.body.offsetHeight }),
        width = page.evaluate(function() { return document.body.offsetWidth });
    console.log(height,width);  
};

我也尝试了这两个属性,但得到的结果相同 -

page.clipRect = { top: 0, left: 0, right: 0, width: 1286};
page.viewportSize = { width: 1024, height: 768};

让我知道我在这里做错了什么。

我得到的输出 - 我得到的PDF图像]2

以下是工作代码:

var url = 'http://localhost:5656';
page.open(url);
page.onLoadFinished = function() {
    //page.viewportSize = { width: 1400, height: 1200 };
    page.paperSize = {format: 'A4'};
    var pdfName = 'screen';
    page.render(pdfName + ".pdf");
    var height = page.evaluate(function() { return document.body.offsetHeight }),
        width = page.evaluate(function() { return document.body.offsetWidth });
    console.log(height,width);  
};

如您所见,以下是为我施展魔术的台词——

page.paperSize = {format: 'A4'};