html2canvas仅转换窗口的可见区域

时间:2015-08-21 10:49:55

标签: javascript jquery html printing html2canvas

我正在使用html2canvas插件。

我目前正在使用此代码。

 html2canvas($("#chartDiv"), {                              
  onrendered: function (canvas) {

   var win = window.open();
   win.document.write("<br><img src='" + canvas.toDataURL() + "'/>");
   win.print(); 
  }
});

当我将div转换为画布时, 只有窗口的可见部分变成了画布。

我需要找到一个解决方案,我可以将div打印成多个页面,如果div 超过了窗户的大小。 ?

提前谢谢

this is my current output

2 个答案:

答案 0 :(得分:1)

看起来你唯一的选择就是修改页面,使其在渲染前看起来像你希望图像一样。

使用html2canvas时遇到了同样的问题,这是一个原因,为什么我现在自己编写绘制我想要的画布的方法。

也许看看this

答案 1 :(得分:0)

我有同样的问题来拍摄Bootstrap Modal的图像。对我有用的诀窍是我在身体的末尾加了一个临时的m1 <- matrix(c(1,2,4,0,1,1,5,4,1), ncol = 3, byrow = TRUE, dimnames = list(c('1A','1B','1C'),c('2A','2B','2C'))) div,例如:

visibility:hidden

然后在致电<div id="TempDataDiv" style="visibility:hidden"></div> 之前,我向此html2canvas添加了内容并删除了TempDataDiv功能中的内容,如下所示(两次以避免边缘切割):

onrendered

我有点黑客但对我来说很好。