2015-01-21 2 views
5

Я пытаюсь создать PDF-файл с wkhtmltopfd с карты OpenLayer V3, но я получаю только пустое изображение.wkhtmltopdf OpenLayers V3 не удалось

Этот код должен генерировать PDF-файл с изображениями карты, но он генерирует только фон карты.

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

Что я делаю неправильно?

Это то, что я уже проверил:

  • Я открыл веб-страницу с Chrome и сохранили его в формате PDF. Оно работает.
  • В трассе Wireshark я не вижу никакого запроса на изображение плитки (так что сервер блокирующей плитки не является отказом).
  • Я пробовал некоторые параметры на wkhtmltopdf, например --background и, но без успеха (эти параметры также отмечены как параметры по умолчанию).
  • Я использую wkhtmltopdf 0.12.1.2 (с исправленным qt) в Windows 8. Нет успеха.
  • Также wkhtmltopdf 0.12.1 (с исправленным qt) на Ubuntu 14: нет успеха.

ответ

1

Используйте переключатель состояния окна «--window-статуса XXXX», Если добавить этот переключатель компонента PDF (wkhtmtopdf) будет ждать оконного статус, как только сценарий установить окно sataus к готовому или все, что указано в коммутаторе wkhtmltopdf, начинает преобразовывать html в PDF.

Что вам нужно сделать .... Попытайтесь найти, когда ваши карты загружены в DOM, и все получилось (вызовы ajax или любой длинный сценарий был выполнен/успешно), затем установите window.sataus = «готов» (с использованием java-скрипта)

Добавить переключатель "--window-статус готового"

wkhtmltopdf --window статусной готов http://openlayers.org/en/v3.1.1/examples/moveend.html test.pdf

+0

'--javascript задержки 5sec' ждет достаточно, чтобы загрузить все изображения. Таким образом, это не решит проблему. – powerpete

+0

Вы попробовали --window-status. –

+0

Извините. На данный момент я не могу проверить его с помощью моей конкретной карты. (Я изменил свой компонент карты на leaflet.js) – powerpete

Смежные вопросы