2012-10-30 4 views
8

Próbuję osadzić mapę google w pejzażowym pliku PDF, ale jakoś, wkhtmltopdf zawsze przecina mapę na dwie części, chociaż mapa zmieściłaby się łatwo na jednej stronie.wkhtmltopdf - Wyłączanie łamania strony

Myślę, że problem polega na tym, że mapa jest zbudowana z płytek. Płytki są większe niż mapie i są odcięte, ale wkhtmltopdf zdaje się ignorować to i myśli, że odcięte płytki również musi zmieścić się na stronie ...

Oto niektóre przykładowy kod do odtworzenia tego:

<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> 

i polecenie, aby przekształcić go do formatu PDF:

wkhtmltopdf --window-status ready --orientation landscape map.html map.pdf

Używam najnowszej wersji wkhtmltopdf przy okazji ...

Czy istnieje możliwość, aby mapa wypełniła stronę bez cięcia?

+0

Mam podobny problem - czy miałeś szczęście znalezienie rozwiązania? Moim problemem jest to, że obraz umieszczony na dole strony jest bez żadnego powodu przenoszony na następną stronę, nawet jeśli łatwo mógłby się zmieścić. – user961627

+0

@ user961627 Niestety, nie. Porzuciłem poszukiwania, ale jeśli znajdziesz coś dla swojego problemu, byłoby miło, gdybyś mi to udostępnił :) –

Odpowiedz

1

To naprawdę nie wyłącza łamania stron, ale ustawienie wysokości ciała powoduje renderowanie mapy tylko na jednej stronie.

<body style="height:1000px;"> 
    <div id="map" style="width:1500px;height:800px;"></div> 
</body> 
4

Można użyć opcji --page-width i --page-height do wkhtmltopdf aby określić rozmiar przy tym samym współczynniku kształtu co strona. Prawdopodobnie będziesz musiał połączyć to z określeniem szerokości i wysokości na ciele, ale jest to przydatne, jeśli chcesz całkowicie wypełnić wyjściowy plik PDF treścią.

Dla porównania, „UnitReal” przyjęty przez opcji --page-width i --page-height zaakceptować zmiennoprzecinkowych z jednostkami:

(none) == mm 
mm 
cm == 10mm 
m == 1000mm 
didot 
inch 
in == inch 
pica 
pc == pica 
cicero 
pixel 
px == pixel 
point 
pt == point 

Należy jednak pamiętać, że musi być określony zarówno z tej samej jednostki.