wkhtmltopdf, похоже, нужен Phonon, нужен QCoreApplication :: applicationName;Зачем? - PullRequest
4 голосов
/ 26 ноября 2011

Я использую wkhtmltoimage, и все шло хорошо, пока я не попросил его сделать скриншот из твиттера, и я получил эту странную ошибку:

Loading page (1/2)
WARNING: Phonon needs QCoreApplication::applicationName to be set to export audio output names through the DBUS interface 
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
Rendering (2/2)                                                   
Done

Вот команда, которую я использовал:

xvfb-run wkhtmltoimage --format png --quality 100 http://twitter.com/jnbdz twitter2.png

Я использую Ubuntu 11, Apache2 / PHP5 и Qt4.

Я не получаю эту ошибку, когда пытаюсь получить скриншот Google или других веб-сайтов.

Когда этоработает, я получаю только это: http://dl.dropbox.com/u/20599297/twitter3.png

Любые идеи, что может быть причиной этой ошибки?

ОБНОВЛЕНИЕ

Я получаю другую ошибкупри попытке сделать скриншот yahoo.com:

xvfb-run wkhtmltoimage --format png --quality 100 http://yahoo.com/ yahoo1.png


Loading page (1/2)
Error: Failed loading page http://yahoo.com/ (sometimes it will work just to ignore this error with --load-error-handling ignore)
Error: Failed loading page http://yahoo.com/ (sometimes it will work just to ignore this error with --load-error-handling ignore)

1 Ответ

0 голосов
/ 06 сентября 2012

Итак, по порядку:

1 / wkhtmltoimage использует Webkit, который может загружать Phonon по ряду причин. Например, для воспроизведения мультимедийного веб-содержимого. Но это не очень важно.

2 / Некоторые функции фонона, связанные со звуком, требуют указания имени приложения. Возможно, вам не нужны эти функции для отображения веб-страницы, поэтому не беспокойтесь об этом предупреждении.

3 / Phonon пытается установить соединение с аудиосервером Jack, предположительно, так как он сканирует доступные системы вывода звука. В любом случае вам не нужен звук, поэтому вы можете игнорировать и эти ошибки.

4 / Насколько я знаю, Twitter широко использует JavaScript для своего рендеринга. Я не знаю, что wkhtmltoimage поставляется с интерпретатором JavaScript. Проблемы рендеринга, таким образом, почти гарантированы.

Вы должны понимать, что метод, используемый в wkhtmltoimage, несколько примитивен и не очень надежен. В некоторых случаях это не удастся, в первую очередь при работе с динамическим контентом.

Возможно, вам повезет больше с мобильной версией на http://mobile.twitter.com/,.

Что касается ошибок Yahoo, то, по-видимому, они являются ошибками соединения, которые не имеют ничего общего с перечисленным выше.

...