(modifié le 18 février 2020 à 23:11)

psd-to-jpg-pngLa classe PHP PSD Reader permet de convertir un fichier au format Photoshop PSD en image JPG (JPEG plus précisément).

Les utilisations de cette classes sont nombreux et intéressants.

Il devient par exemple possible sur un serveur stockant des PSD de générer des miniatures pour une meilleure navigation, ou bien de proposer sur un site de partage d'image le format .psd en entrée avec une conversion en JPG.

Pour utiliser la classe, téléchargez-la puis créer un fichier php dans le même dossier de destination que notre fichier test.psd :

<?php
include_once('classPhpPsdReader.php');
header("Content-type: image/jpeg");
echo imagejpeg(imagecreatefrompsd('test.psd'));
?>

Ne rien placer avant l'instruction header ! Cela générerait une erreur du type : "headers already sent by".

Voici le résultat :

psd-to-jpg

Pour obtenir une sortie au format PNG, il vous suffit d'utiliser la fonction imagejpeg par imagepng :

<?php
include_once('classPhpPsdReader.php');
header("Content-type: image/png");
echo imagepng(imagecreatefrompsd('test.psd'));
?>

J'ai personnellement testé cette classe avec succès sur un document PSD crée avec Adobe Photoshop CS4.

Le rendu de l'image équivaut à la fonction "aplatir l'image" de Photoshop, les calques masqués ne seront par exemple pas affichés.

Attention toutefois si la résolution de votre fichier PSD est élevée : les ressources consommées par votre serveur seront importantes (CPU, mémoire).

Pensez également à augmenter le temps maximum d'exécution défini dans php.ini (30 secondes par défaut) si celui-ci est insuffisant.

Depuis Windows, vous pouvez également utiliser l'utilitaire gratuit Batch PSD To JPG dont Eric a déjà parlé.

Télécharger la classe PHP PSD Reader (mirroir v1.3)

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter