ImageMagick / Imagick convertit PDF en JPG en utilisant l'API PHP native
Je suis d'essayer de convertir les fichiers PDF en format Png. Il fonctionne très bien à partir de la ligne de commande (je ne GhostScript 8.64 installé). Mais à partir de PHP, je vais avoir un problème:
code:
$im = new Imagick($pdf_file); //this is where it throws the exception below
de sortie:
Fatal error: Uncaught exception ‘ImagickException’ with message ‘Postscript delegate failed `23_1235606503.pdf’: No such file or directory @ pdf.c/ReadPDFImage/612′ in get_thumbnail.php:93
Stack trace:
\#0 get_thumbnail.php(93): Imagick->__construct(’…’)
etc. etc.
Je ne suis pas sûr de ce que je fais mal ici, mais je suppose qu'il a quelque chose à voir avec mon serveur de configuration quelque part. Je suis en cours d'exécution:
Apache 2.2.11
PHP 5.2.8
ImageMagick 6.4.8-9
GhostScript 8.64
source d'informationauteur matt
Vous devez vous connecter pour publier un commentaire.
Enfin compris cela. GhostScript exécutable (
gs
) n'était pas dans le chemin d'accès d'environnement. C'est dans/usr/local/bin
. Si j'ai essayé plusieurs méthodes pour ajouter des/usr/local/bin
le chemin, je n'ai pas réussi. J'ai fini par mettre un lien symbolique pourgs
dans le/usr/bin directory
. Maintenant, tout fonctionne parfaitement.Je n'ai pas la "réputation" sur Stackoverflow pour ajouter un commentaire inline ci-dessus, mais il y a une étape supplémentaire, j'ai eu à effectuer de le faire fonctionner sur mon Mac avec la dernière mise à jour de la Sierra.
Lorsque vous entrez la commande:
Sur le Mac, vous pouvez obtenir le message d'erreur "Opération non Autorisée".
Apparemment, Apple fait un changement que le répertoire "bin" n'est pas modifiable, sauf si vous désactivez le protocole SIP (Système de Protection de l'Intégrité).
Donc, voici les étapes à faire:
crutil disable
et appuyez sur "Entrée"Je suis juste allé à travers ces étapes et maintenant mon Ghostscript fonctionne très bien et j'ai réussi à convertir un document PDF au format JPG.
Je suis avec succès en faisant cela. Voici le code que j'utilise pour faire la conversion. Nous sommes à l'aide de cette solution dans le commerce. Je sais que cette question a été là pendant un certain temps, mais il peut encore vous aider.