从phantomjs

时间:2015-07-13 10:13:46

标签: javascript html css pdf phantomjs

目前我正在开展一个项目,我必须从包含一些特殊符号的网页生成pdf。所以为了生成它我使用Phantomjs(版本1.9.8)。为此,我在我的网页上应用了以下算法。

var heightTracker = 0;
var max_A4_page_height=842pt; // as size of A4 page is about 842 points
for every_division on page
var temp_height=Read_height_of_division(); // This give's height in pixels
temp_height*=(72/96); // Converting pixels to points
heightTracker+=temp_height;
if( heightTracker>= max_A4_page_height)
{
    Insert_Page_Break_Before_This_Division();
    heightTracker=temp_height; // Initial height of new page
}

我面临的问题是在很多情况下这是显示空白页面,如果我减少A4页面高度,那么我的分割元素分为两页,之后我得到了一些空白。

我已经针对上述问题做了一些实验,并且知道我的网页上的分区高度与PDF上的分区高度不同,即在很多情况下高度被某个因素压缩。

有谁知道为什么会这样,我怎么能摆脱这个问题。

目前的pdf是72 DPI。我也尝试了120 DPI,但没有找到适合的变化。在我的pdf中,我还打印了每个分区的高度和页面的累积高度。并here is the pdf

1 个答案:

答案 0 :(得分:0)

我已经与PhantomJs建立了一个相关的设置,这听起来很可能是打印输出没有正确的CSS。

首先测试打印内容在chrome(或类似)中看起来是否良好,当内容有效时,PhantomJs应该能够轻松地重现它。