从 phantomjs 打印 pdf 时出现空格

Blank spaces appearing while printing pdf from 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 页面高度,那么我的分区元素将分成两页,之后我会得到一些空白 space。

我对上述问题做了一些实验,了解到我网页上的分区高度与 PDF 上的分区高度不同,即在许多情况下,高度被某种因素压缩了。

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

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

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

首先测试打印的内容在 chrome(或类似)中看起来不错,当内容正常时,PhantomJs 应该能够轻松地复制它。