我正在尝试将谷歌地图嵌入到横向PDF中,但不知何故,wkhtmltopdf总是将地图分为两部分,尽管地图很容易放在一页上。
我认为问题是,地图是用瓷砖建造的。瓷砖比地图大,被切断,但是wkhtmltopdf似乎忽略了这一点,并认为切割的瓷砖也必须适合页面...
以下是一些重现此示例的示例代码:
<html>
<head>
<script src="https://maps.google.com/maps/api/js?sensor=false"></script>
<script>
window.onload = function(){
var fenway = new google.maps.LatLng(47.188563,8.480487);
var gmap = new google.maps.Map(document.getElementById("map"),{
center: fenway,
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: true
});
var marker = new google.maps.Marker({
position: fenway,
map:gmap
});
google.maps.event.addListener(gmap,"tilesloaded",function(){
window.status = "ready";
});
}
</script>
</head>
<body>
<div id="map" style="width:1500px;height:800px"></div>
</body>
</html>
将其转换为PDF的命令:
wkhtmltopdf --window-status ready --orientation landscape map.html map.pdf
顺便说一下,我正在使用最新版本的wkhtmltopdf ......
是否有可能让地图填满没有剪切的页面?
答案 0 :(得分:4)
您可以使用--page-width
和--page-height
选项wkhtmltopdf
来指定与页面具有相同宽高比的尺寸。您可能仍需要将其与指定正文上的宽度和高度相结合,但如果您想要使用内容完全填充输出PDF,这将非常有用。
作为参考,--page-width
和--page-height
选项接受的'UnitReal'接受带有单位的浮点值:
(none) == mm
mm
cm == 10mm
m == 1000mm
didot
inch
in == inch
pica
pc == pica
cicero
pixel
px == pixel
point
pt == point
但请注意,必须都必须使用相同的单位进行指定。
答案 1 :(得分:1)
它并没有真正禁用分页符,但设置正文高度确实只会在一页上呈现地图。
<body style="height:1000px;">
<div id="map" style="width:1500px;height:800px;"></div>
</body>