我正在使用html2canvas插件。
我目前正在使用此代码。
html2canvas($("#chartDiv"), {
onrendered: function (canvas) {
var win = window.open();
win.document.write("<br><img src='" + canvas.toDataURL() + "'/>");
win.print();
}
});
当我将div转换为画布时, 只有窗口的可见部分变成了画布。
我需要找到一个解决方案,我可以将div打印成多个页面,如果div 超过了窗户的大小。 ?
提前谢谢
答案 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
我有点黑客但对我来说很好。