打印旋转的传单地图和jsPDF

时间:2018-09-20 22:44:15

标签: printing rotation leaflet

我使用的是Rotate Map Leaflet插件,尝试使用jsPDF插件打印时遇到以下问题:

地图不停留在div容器内。它涵盖了整个PDF文档。似乎也对地图图块有些奇怪。

这是它的外观:

Div on page

如果我使用jsPDF打印,则PDF看起来像:

Printed with rotation

如果未旋转,则在PDF中如下所示: printed without rotation

无论如何,地图不会停留在我想要的范围之内。

1 个答案:

答案 0 :(得分:0)

我使用Javascript的localStorage.setItem()函数传递div的innerHTML,其中包含地图和其他要打印的信息。

在另一页上,我使用Javascript的localStorage.getItem()检索了上一页的HTML,并将其添加到了新页上的现有div上。我还向LeafletR.js添加了CSS链接和脚本调用。

我在上一页中使用了相同的代码来设置地图:

map = L.map('map',
{
' renderer': L.canvas(),
'center': [0, 0], 'zoom': 17,
'zoomControl': false,
'rotate': true,
'attributionControl': false,
'maxBounds': [
[25, -125],
[49.5, -66.5]
]
});

地图正确显示在正确的位置,并使用window.print函数正确打印。

window.print()函数在原始页面上有效,但在页面上显示了我不需要的所有控件。

不知道这是否是完成任务的最雄辩的方法,但是它奏效了。