Anomalie #14661
ferméConversion en PDF des fichiers HTML
Description
La conversion en PDF des fichiers .html (pas .htm) ne fonctionnait pas.
L’erreur était :
"Conversion error : [ConvertPdf] Conversion failed ! QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-kronos' qt.qpa.screen: QXcbConnection: Could not connect to display :0 Could not connect to any X display."
Ceci était causé par la commande wkhtmltopdf appellée par le fichier src/app/convert/controllers/ConvertPdfController.php
Cette commande ne fonctionne plus pour Debian, elle a besoin d’un environnement graphique hors les serveurs n’en ont pas. Elle tentait de se connecter au display :0 à cause d’un "export DISPLAY=:0" dans la ligne exec()
Solution :
Le fichier php a été modifié de la sorte :
if (strtolower($extension) == 'html' || strtolower($extension) == 'htm') {
$pdfFilepath = str_replace('.'.$extension, '', $aArgs['fullFilename']) . '.pdf';
$command = "xvfb-run /usr/bin/wkhtmltopdf -B 10mm -L 10mm -R 10mm -T 10mm --load-error-handling ignore --load-media-error-handling ignore ".$aArgs['fullFilename']." ".$pdfFilepath;
exec($command.' 2>&1', $output, $return);
}
Ici est ajoutée la condition strtolower($extension) == 'htm'
La variable $command a été modifiée (paquet xvfb installé)
Et dans exec on a enlevé export DISPLAY=:0