Bany47
#1
Hallo Leute !
Ich möchte eine OL2-map aus meiner Anwendung als pdf ausdrucken.
Hier der Code:
$(document).on(‘click’, ‘#print_button’, function(){
var divToPrint=document.getElementById('mapdiv');
var newWin=window.open('','Print-Window');
newWin.document.open();
newWin.document.write('<html><head><link rel="stylesheet" type="text/css" href="../lib/css/print_karte.css" media="print"/>
</head><body onload="window.print()">'+divToPrint.innerHTML+'</body></html>');
newWin.document.close();
});
Klappt im FF recht ordentlich.
Die Vorschau zeigt jedoch die PanZoomBar. In der print_karte.css ist sie auf display : none gesetzt, was auch so funktioniert.
Kann ich die PanZoomBar in der Vorschau auf display : none setzen.
Gruss Stefan
axelr
#2
Dein Weg sieht kompliziert aus. Ich benutze die Druckvorschau aus dem Browser.
Das Ausblenden sollte mit einer Zusatzzeile in deiner .css funktionieren:
@media print{.olButton,.olAlphaImg{display:none}}
Bany47
#3
Hey axelr,
genau das hatte ich schon gemacht.
Ich muß so mit window.print arbeiten, da ich schon einen anderen Teil der Anwendung ( Ergebnistabelle mit Kommunen ) direkt aus FF drucke.
Ich frage mich aber, warum wird die PanZoomBar in der Voransicht angezeigt, jedoch nicht gedruckt.
Glückauf
Stefan
axelr
#4
weil deine Voransicht eine Kartendarstellung ist und keine Druck-Voransicht.
Setze im print_karte.css:
.olButton,.olAlphaImg{display:none}
und entferne im Aufruf: media=“print”
Bany47
#5
Danke !
ich hab’s zwischenzeitlich auch gerafft. Mache natürlich mit window.open und document.open ein neues tab mit der Karte als Inhalt auf.
Daraus resultiert natürlich das Elemenieren von media = “print”.
Gruss
Stefan