pdfkit如何在meteor js中检测循环收集中的页面结尾

时间:2016-07-04 05:58:04

标签: meteor pdfkit

在pdfkit中如何仅在前一页已满(空白部分首先填充然后生成新页面)内部生成页面内部来自mongodb的对象数组。

Example Scenario

1 个答案:

答案 0 :(得分:2)

使用pdfkit时我所做的是使用一个名为ypos的垂直位置的变量绘制所有可视元素,我在向下移动页面时递增,例如ypos += 20;。假设我正在使用var doc = new PDFDocument({size: 'A4', margin: 20});,那么在文本可能存在超出页面边框的风险的时刻,我会检查ypos的增加程度。 if (ypos > 680){ doc.addPage(); ypos = 50; }

但是,当您绘制某些内容并且不确定它可能有多高,以及它是否超出页面当前ypos的页边框时会出现问题。你可以做的事情之一(这是一种令人讨厌的解决方案)是用白色绘制文本(因此它被绘制但不可见),然后检查doc.y的值,它显示你在哪个垂直方向位置pdfkit最后绘制。如果距离太远,请创建一个新页面并在那里绘制,如果没有,请保留在您所在的页面上。