2015-01-21 19 views
5

Provo a generare un PDF con wkhtmltopfd da una mappa OpenLayer V3, ma ottengo solo un'immagine vuota.wkhtmltopdf OpenLayers V3 non riuscito

Questo codice dovrebbe generare un PDF con le immagini della mappa, ma genera solo lo sfondo della mappa.

wkhtmltopdf --javascript-delay 5000 http://openlayers.org/en/v3.1.1/examples/moveend.html test.pdf 

Cosa sto sbagliando?

Questo è quello che ho già controllato:

  • ho aperto la pagina web con Chrome e salvato in un file PDF. Funziona.
  • Nella traccia di Wireshark non riesco a visualizzare alcuna richiesta su un'immagine di tile (quindi un server di riquadri di blocco non è l'errore).
  • Ho provato alcune opzioni su wkhtmltopdf come --background e --images, ma senza successo (queste opzioni sono anche contrassegnate come opzioni predefinite).
  • Sto usando wkhtmltopdf 0.12.1.2 (con qt con patch) su Windows 8. Nessun successo.
  • Anche wkhtmltopdf 0.12.1 (con qt con patch) su Ubuntu 14: nessun successo.

risposta

1

Usa l'interruttore di stato della finestra "--window-status XXXX", Se si aggiunge questo interruttore componente PDF (wkhtmtopdf) aspetterà la finestra di stato, non appena lo script impostare i sataus finestra a pronti o qualsiasi cosa venga fornita nello switch wkhtmltopdf avvia la conversione dell'HTML in PDF.

Cosa devi fare .... Cerca di trovare quando le tue mappe sono caricate in DOM e tutto è stato reso (le chiamate Ajax o qualsiasi script a lunga durata è stato eseguito/riuscito) quindi imposta window.sataus = "ready" (usando lo script java)

aggiungi il interruttore "--window-stato di pronto"

wkhtmltopdf --window-stato di pronto http://openlayers.org/en/v3.1.1/examples/moveend.html test.pdf

+0

a --javascript ritardo '5sec' aspetta abbastanza per caricare tutte le immagini. Quindi questo non risolverà il problema. – powerpete

+0

Hai provato lo stato di --window. –

+0

Siamo spiacenti. Non posso testarlo con la mia mappa specifica al momento. (Ho cambiato il mio componente della mappa in leaflet.js) – powerpete