Fonctionnalité #13897
fermé[Conversion] Pouvoir choisir entre ImageMagick et GraphicsMagick
Description
Dans le cadre du SaaS courrier, j'ai pu constater qu'il y a une incompatibilité de Maarch Parapheur avec ImageMagick dans un environnement centos 8.
Pour rappel, centos 8 est la distribution choisit par Xelians pour le SaaS car elle dispose d'une environnement plus professionnel que Debian.
Le problème entre ImageMagick (version 6 et version 7) avec Maarch Parapheur sur centos 8 est la commande suivante :
convert -density 500x500 -quality 100 -background white -alpha remove '/opt/maarch/data/docservers/demo/MaarchParapheur/documents/2020/05/0001/0012_1897789596.pdf'[0] '/tmp/13626008450012_1897789596.png'
Au delà du fait que la conversion échoue, l'argument -density fait planter ImageMagick via un coredump et fait monter l'activité du processus jusqu'à ralentir fortement l'environnement.
Il est à noter qu'à contrario, la création d'imagette dans Maarch Courrier via l'argument -thumbnails fonctionne correctement.
Pour résoudre ce bug, il faut utiliser le fork d'ImageMagick, à savoir GraphicsMagick.
Son fonctionnement est légèrement différent, en comparaison, voici la commande à exécuter :
gm convert -density 500x500 -quality 100 -background white +matte '/opt/maarch/data/docservers/demo/MaarchParapheur/documents/2020/05/0001/0012_1897789596.pdf'[0] '/tmp/13626008450012_1897789596.png'
L'application de la transparance y est notamment différente.
Il faudrait pouvoir choisir dans MaarchParapheur via un param technique, xml ? tables parameters ? le programme à exécuter, ex :
src/app/convert/controllers/ConvertThumbnailController.php
if ($ImageMagick) {
$command = "convert -density 500x500 -quality 100 -background white -alpha remove "
. escapeshellarg($pathToDocument) . "[{$convertPage}] " . escapeshellarg("{$tmpPath}{$fileNameOnTmp}.png");
} elseif{$GraphicsMagick) {
$command = "gm convert -density 500x500 -quality 100 -background white +matte "
. escapeshellarg($pathToDocument) . "[{$convertPage}] " . escapeshellarg("{$tmpPath}{$fileNameOnTmp}.png");
}
Ce patch doit être appliqué à partir de la 20.03 pour que le SaaS Courrier puisse déployer du Maarch Parapheur.
Il faut également mentionner dans les prérequis et l'installation la nécessité de Graphics Magick sur Centos.
Autre point à noter, sur centos 8, il faut recommander php 7.3 uniquement car les images PNG sont mal gérées en 7.2 et en php 7.4 la librairie payante de fpdf n'est pas encore supportée.
Mis à jour par Emmanuel DILLARD il y a plus de 4 ans
- Statut changé de A traiter à R&D - A planifier
Mis à jour par Emmanuel DILLARD il y a plus de 4 ans
- Projet changé de 298 à 299
- Statut changé de R&D - A planifier à R&D - En cours
- Version cible changé de Parapheur 20.03 à Parapheur 21.03 (Stable)
- Projet Parapheur 20.03.2 ajouté
Mis à jour par Alex ORLUC il y a plus de 4 ans
- Statut changé de R&D - En cours à R&D - Terminé
Mis à jour par Emmanuel DILLARD il y a plus de 4 ans
- Lié à Anomalie #14056: [CENTOS] Erreur de conversion ImageMagick ajouté
Mis à jour par Florian AZIZIAN il y a presque 4 ans
- Lié à Anomalie #16443: [SaaS Courrier RedHat] version de glibc2.29 requise par les outils de conversion non disponible ajouté
Mis à jour par Emmanuel DILLARD il y a plus de 3 ans
- Projet changé de 298 à Backlog Parapheur
- Version cible changé de Parapheur 21.03 (Stable) à 21.03