2012-10-30 16 views
8

Ich versuche eine Google Map in eine PDF Landschaft einzubetten, aber irgendwie schneidet wkhtmltopdf die Map immer in zwei Teile, obwohl die Map einfach auf eine Seite passt.wkhtmltopdf - Seitenumbruch deaktivieren

Ich denke, das Problem ist, dass die Karte mit Kacheln gebaut wird. Die Fliesen sind größer als die Karte und abgeschnitten werden, aber wkhtmltopdf scheint dies zu ignorieren und denkt, dass die abgeschnittenen Fliesen auch auf der Seite passen müssen ...

Hier ist ein Beispielcode, dies zu reproduzieren:

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

Und der Befehl es in PDF zu konvertieren:

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

ich die neueste Version von wkhtmltopdf von der Art und Weise mit ...

Gibt es eine Möglichkeit, dass die Karte die Seite ohne den Schnitt füllt?

+0

Ich stehe vor einem ähnlichen Problem - hatten Sie ein Glück, die Lösung zu finden? Mein Problem ist, dass ein Bild am unteren Rand der Seite ohne Grund zur nächsten Seite transportiert wird, obwohl es leicht passen könnte. – user961627

+0

@ user961627 traurig, nein. Ich habe die Suche aufgegeben, aber wenn Sie etwas für Ihr Problem finden, wäre es nett, wenn Sie es mit mir teilen :) –

Antwort

1

Es ist nicht wirklich deaktivieren Seitenumbrüche, aber das Einstellen einer Körpergröße macht Ihre Karte auf nur einer Seite.

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

können Sie verwenden, um die --page-width und --page-height Optionen wkhtmltopdf zu einer Größe mit dem gleichen Seitenverhältnis wie der Seite angeben. Sie müssen dies wahrscheinlich noch mit der Angabe einer Breite und Höhe des Körpers kombinieren, aber es ist nützlich, wenn Sie die Ausgabe-PDF-Datei vollständig mit Inhalt füllen möchten.

Als Referenz der ‚UnitReal‘ akzeptiert von den --page-width und --page-height Optionen akzeptieren Gleitkommawerte mit Einheiten:

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

Aber beachten Sie, dass sie muss beide mit der gleichen Einheit angegeben werden.