Ich möchte wkhtmltopdf verwenden, um beide Seiten, die ich kontrolliere (in dem Fall kann ich die window.status
beim Rendern) und (gelegentlich) Seiten, die ich nicht kontrolliere . Laut this thread on the mailing list sollte ich in der Lage sein, --window-status
auf einen Wert zu setzen, und --javascript-delay
ebenso, und Rendering startet, sobald eine dieser Bedingungen erfüllt ist. Das ist nicht meine Erfahrung; der Befehl wkhtmltopdf --javascript-delay 10000 --window-status imdone http://www.google.com/ /tmp/google.pdf
wartet ewig (Version 0.12.3, sowohl unter OSX als auch unter Linux). Wie kann ich das auf der Mailingliste beschriebene Verhalten erhalten?Kombination von --window-status und --javascript_delay in wkhtmltopdf
3
A
Antwort
4
Eine Problemumgehung besteht darin, das --run-script
-Tag zu verwenden, um das window.status
nach einiger Zeit manuell festzulegen - das funktioniert sowohl für die Version, die das Patched verwendet, als auch für das, das das ungepatchte QT verwendet. Beachten Sie jedoch, dass --run-script
einen kleinen Fehler beim Ausschließen seines Parameters zu haben scheint. Daher ist die folgende Zeile wird Ihnen das Verhalten angefordert:
wkhtmltopdf --window-status imdone --run-script \
'window.setTimeout(function(){window.status="imdone";},1000);' \
http://google.com/ /tmp/google.pdf
Beachten Sie, dass aufgrund der oben genannten Fehler, funktioniert es nicht, wenn man Räume in dem Argument --run-script
setzt, daher die folgenden nicht
wkhtmltopdf --window-status imdone --run-script \
'window.setTimeout(function(){window.status = "imdone";}, 1000);' \
http://google.com/ /tmp/google.pdf
arbeiten