Je veux créer une photo captcha en utilisant convert
ImageMagick.
Et je suis ceci , mais il y a un problème.
Entrée dans mon shell Linux:
convert -background white -fill black -font FreeSerif-Bold -pointsize 36 label:'adfgh' ./test.png
L'erreur est:
convertir: non autorisé
adfgh
@ error / constituent.c / ReadImage / 453. convertir: il manque un nom de fichier d'image./test.png
@ error / convert.c / ConvertImageCommand / 3015
Mon ImageMagick: Version: 6.7.2-7, je l'installe avec yum install ImageMagick
.
Je ne sais rien. Un conseil s'il vous plait?
imagemagick
imagemagick-convert
jianwei
la source
la source
policy.xml
. Les options de sécurité peuvent empêcher lelabel:
protocole.Réponses:
J'utilise ImageMagick en php (v.7.1) pour découper un fichier PDF en images.
J'ai d'abord eu des erreurs comme:
Après quelques changements,
/etc/ImageMagick-6/policy.xml
je commence à avoir des erroes comme:Ma solution :
En dossier
/etc/ImageMagick-6/policy.xml
(ou/etc/ImageMagick/policy.xml
)ligne de commentaire
changer de ligne
à
ajouter une ligne
Redémarrez ensuite votre serveur Web (nginx, apache).
la source
policy.xml
fichier a été mis à jour pour la dernière fois le 29 septembre, mais les problèmes surviennent aujourd'hui. J'utilise le serveur Ubuntu 14.04.5, mais je mets à jour automatiquement. Dans le journal d'apt, j'ai trouvé à propos de cette mise à jour:imagemagick-common:amd64 (6.7.7.10-6ubuntu3.12, 6.7.7.10-6ubuntu3.13),
J'utilise plusieurs fois la
convert
commande ImageMagic pour convertir des*.tif
fichiers en*.pdf
fichiers.Je ne sais pas pourquoi mais aujourd'hui j'ai commencé à recevoir l'erreur suivante:
Après avoir lancé la commande:
Après avoir lu les réponses ci-dessus, j'ai édité le fichier
/etc/ImageMagick-6/policy.xml
et a changé la ligne:
à
et maintenant tout fonctionne bien.
J'ai "ImageMagick 6.8.9-9 Q16 x86_64 2018-09-28" sur "Ubuntu 16.04.5 LTS".
la source
convert
de PDF.Si vous êtes toujours là, vous essayez de modifier des images sur lesquelles vous avez un contrôle total, que vous savez sûres et qui ne peuvent pas être modifiées par les utilisateurs.
Il y a un
/etc/ImageMagick/policy.xml
fichier qui est installé par yum. Il interdit presque tout (pour plus de sécurité et pour protéger votre système contre les surcharges d'appels ImageMagick).Si vous obtenez une
ReadImage
erreur comme ci-dessus, vous pouvez changer la ligne en:ce qui devrait résoudre le problème.
Le fichier contient un tas de documentation, vous devriez donc le lire. Par exemple, si vous avez besoin de plus d'autorisations, vous pouvez les combiner comme:
... ce qui est préférable à la suppression de toutes les vérifications des autorisations (par exemple, la suppression ou la mise en commentaire de la ligne).
la source
poppler
est une alternative à GhostScript (quiconvert
repose sur la pixellisation des pages PDF en images)Si quelqu'un doit le faire avec une seule commande après l'installation, exécutez ceci!
la source
sed -i 's/\(<policy domain="coder" rights=\)"none" \(pattern="PDF" \/>\)/\1"read|write"\2/g' /etc/ImageMagick-6/policy.xml
sudo sed -i '/PDF/s/none/read|write/' /etc/ImageMagick-6/policy.xml
La réponse avec les votes les plus élevés (je n'ai pas assez de réputation pour y ajouter des commentaires) suggère de commenter la ligne MVG, mais gardez cela à l'esprit:
Et
La source
la source
$convert --version Version: ImageMagick 6.7.7-10 2018-09-28 Q16 http://www.imagemagick.org
Après une récente mise à jour de mon système Ubuntu 16.04, j'ai également commencé à obtenir cette erreur lorsque j'essaie d'exécuter la conversion sur des fichiers .ps pour les convertir en pdfs.
Cette correction a fonctionné pour moi:
Dans une exécution de terminal:
Cela devrait ouvrir le fichier policy.xml dans l'éditeur de texte gedit. Si ce n'est pas le cas, votre image magick peut être installée à un endroit différent. Puis changez
à
pour les lignes PDF, EPS et PS près du bas du fichier. Enregistrez et quittez, et l'image magick devrait alors fonctionner à nouveau.
la source
Supprimez simplement le fichier /etc/ImageMagick/policy.xml.
la source
policy-disabled.xml
. Je pense que je vais le restaurer jusqu'à ce que je sois certain que les problèmes de sécurité sont résolusAprès avoir lu plusieurs suggestions ici et combiné les idées, pour moi, les modifications suivantes dans /etc/ImageMagick-6/policy.xml étaient nécessaires:
... rights = "none" n'a pas aidé. ... pattern = "LABEL" n'était pas nécessaire. Bien que je ne travaille pas avec de gros fichiers png (seulement ~ 1 Mo), certains changements de limites de mémoire étaient également nécessaires:
(au lieu de 256 Mo), et
(au lieu de 128 Mo)
la source
J'ai eu cette erreur en essayant de convertir un pdf en jpg et je l'ai résolu en utilisant cette méthode: sudo vi /etc/ImageMagick*/policy.xml
changement:
domaine politique = "codeur" droits = "aucun" modèle = "PDF"
à:
domaine politique = "codeur" droits = "lire | écrire" modèle = "PDF"
Source: http://realtechtalk.com/ImageMagick_Convert_PDF_Not_Authorized-2217-articles
la source
Si vous n'avez pas besoin de gérer les fichiers raster et PDF / PS / EPS via le même outil, ne desserrez pas la sécurité d'ImageMagick.
Au lieu de cela, gardez votre défense en profondeur pour vos applications Web intactes, vérifiez que votre Ghostscript a été corrigé pour toutes les
-dSAFER
vulnérabilités connues , puis invoquez-le directement.-dSAFER
vous éloigne de la compatibilité héritée «exécuter Postscript vous donnera la permission complète d'interagir avec le monde extérieur en tant que langage de programmation complet».-r300
définit le DPI souhaité sur 300 (la valeur par défaut est 72)-sDEVICE
spécifie le format de sortie (voir la section Périphériques du manuel pour d'autres choix.)-o
est un raccourci pour-dBATCH -dNOPAUSE -sOutputFile=
Si vous effectuez le rendu de fichiers EPS, ajoutez-le de
-dEPSCrop
manière à ne pas ajuster votre sortie à la taille de la page et à utiliser-sDEVICE=pngalpha
pour obtenir des arrière-plans transparents.la source
-r600 -dDownScaleFactor=4
pour créer un fichier avec une résolution de 150 dpi mais un meilleur anti-aliasing.J'ai également eu l'erreur
error/constitute.c/ReadImage/453
en essayant de convertir un eps en un gif avec magick image. J'ai essayé la solution proposée par sNICkerssss mais avait encore des erreurs (si différent du premier) eerror/constitute.c/ReadImage/412
Ce qui a résolu le problème était de mettreread
à d' autres entréesla source