KnpSnappyBundle - stderr: "wkhtmltopdf: cannot connect to X server" stdout: ""
Ich versuche, die KnpSnappyBundle zum erstellen von PDF-Dateien von twig-templates.
Ich habe folgte diesem post zu installieren wkhtmltopdf
und es funktioniert, wenn ich tun:
wkhtmltopdf http://www.google.com test.pdf
aber wenn ich versuche eine PDF-Datei erstellen aus einer controller:
$this->get('knp_snappy.pdf')->generateFromHtml(
$this->renderView('AcmePDFBundle:Default:template.html.twig'),
'../app/var/PDFfiles/PDF.pdf'
);
Ich bin immer diese Fehlermeldung:
request.CRITICAL: RuntimeException: The exit status code '1' says something went wrong:
stderr: "wkhtmltopdf: cannot connect to X server
"
stdout: ""
command: /usr/bin/wkhtmltopdf --lowquality '/tmp/knp_snappy532ca2272fba44.73835084.html' '../app/var/files/PDF.pdf'. (uncaught exception) at /home/me/MyServer/project/vendor/knplabs/knp-snappy/src/Knp/Snappy/AbstractGenerator.php line 304 [] []
Irgendeine Idee wie es zu lösen?
Dies ist meine Konfiguration für KnpSnappyBundle:
knp_snappy:
pdf:
enabled: true
binary: /usr/bin/wkhtmltopdf
options: []
image:
enabled: false
binary: /usr/bin/wkhtmltoimage
options: []
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aufgelöst Installation einer vorkompilierten version. jetzt können Sie Ihre version von hier (inspiriert von diese out-of-date-Antwort ):
http://wkhtmltopdf.org/downloads.html
verändert und meine
config.yml
zu:und jetzt funktioniert es!
http://code.google.com/p/wkhtmltopdf/downloads/list
link existiert nicht mehr, ich habe gerade installiertwkhtmltopdf
mit einemapt-get install wkhtmltopdf
Befehl. Das ist, warum es nicht funktioniert hat.Müssen Sie kopieren es in das Verzeichnis : /usr/local/bin, machen sur, es ist ausführbar und fügen Sie den symlink von wkhtmltopdf.sh wie :
1 - der Befehl :
HTML:
2 - legen Sie eine Binärdatei im Verzeichnis /usr/bin so kann der browser nicht über die Berechtigung zum ausführen in diesem Verzeichnis.
Sie müssen kopieren Sie die wkhtmltopdf.sh Verzeichnis /usr/local/bin, dass der browser die Berechtigung in diesem Verzeichnis wie:
HTML:
3 - Nach der machen sur, die binären haben die Erlaubnis der Ausführung wie :
HTML:
4 - so können Sie jetzt testen, es ist Arbeit wie:
HTML:
machen, laden Sie die pdf-Datei in das aktuelle Verzeichnis im terminal
5 - Optional
nun kannst du den symlink im Verzeichnis /usr/local/bin wie
HTML:
6 - Kopie an die /usr/bin/wkhtmltoimage in /usr/local/bin/wkhtmltoimage wie:
HTML:
8 - stellen-sur-dies ist die ausführbare Datei zu:
HTML:
7 - ändern Sie das Verzeichnis von Binär-in-Konfiguration von symfony in config/packages/knp_snappy.yaml :
HTML:
Ich Hoffe, dass es Ihnen helfen,