1. Produits
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for Python

Aspose.PSD FOSS pour Python

Bibliothèque Python open source pour charger, inspecter et enregistrer des fichiers PSD/PSB avec accès aux métadonnées des calques. Licence MIT, aucun Adobe Photoshop requis.

Bibliothèque Python Open-Source pour fichiers PSD/PSB

Aspose.PSD FOSS for Python est une bibliothèque Python gratuite, sous licence MIT, pure pour charger, inspecter,
et enregistrer les fichiers Adobe Photoshop PSD et PSB sans nécessiter Adobe Photoshop ou tout
environnement d’exécution propriétaire. Elle expose une API légère et autonome centrée sur PsdImage et
Layer, offrant aux développeurs Python un accès programmatique à la structure d’un document PSD sans
dépendances natives à compiler. La bibliothèque lit les dimensions, le mode couleur, la profondeur de bits et la méthode de compression
d’un fichier PSD/PSB, et expose chaque calque via PsdImage.layers : chaque Layer indique son nom,
ses limites, son opacité, sa visibilité et la clé du mode de fusion (BlendMode), ainsi que les informations de canal de bas niveau (ChannelInformation) et les données de masque (LayerMaskData). Un sous-ensemble des
métadonnées du calque — nom, limites (left/top/right/bottom) et mode de fusion — peut être
modifié sur place et persistant sur le disque avec PsdImage.save() ; tout le reste est en lecture seule par conception dans cette version FOSS. Aspose.PSD FOSS for Python est sous licence MIT. Installez-le avec
pip install aspose-psd-foss — la bibliothèque n’a aucune dépendance native tierce, uniquement la bibliothèque standard Python. Pour la gamme de produits d’entreprise, voir Aspose.PSD — Enterprise Product Family.

Charger et inspecter les fichiers PSD/PSB

  • Image.load(file_path) ouvre un fichier et renvoie une instance PsdImage
  • PsdImage.width, height et channels_count indiquent les dimensions du canevas et le nombre de canaux
  • Les détails de l’en-tête du document sont lus à partir du mode couleur et des métadonnées de compression du fichier analysé
  • PsdImage.layers renvoie la liste complète des objets Layer dans l’ordre du document

Valider et cataloguer les fichiers de conception

  • Valider un lot de fichiers de conception avant de les transmettre à un processus en aval
  • Construire un catalogue d’actifs léger des dimensions et du nombre de calques des PSD/PSB
  • Détecter les fichiers PSB (document volumineux) qui nécessitent une prise en charge différente de celle des PSD standard

Travailler avec les calques

  • PsdImage.layers renvoie chaque Layer dans l’ordre du document ; chaque Layer expose name, bounds, opacity, is_visible et blend_mode_key
  • Layer.channel_information expose les métadonnées de canal pour une inspection plus approfondie
  • Layer.channels_count indique le nombre de canaux d’image qu’un calque possède
  • PsdImage.layers lui-même peut être réassigné pour supprimer ou réorganiser les calques

Structure de la couche d’audit

  • Auditer la structure des calques d’un PSD sans ouvrir Photoshop
  • Générer un rapport des noms de calques, de la visibilité et des modes de fusion pour une révision de conception
  • Identifier les calques masqués ou à opacité zéro laissés suite à des modifications antérieures

Modifier les métadonnées de base de la couche

  • Layer.name, Layer.left/top/right/bottom, et Layer.blend_mode_key peuvent être définis directement
  • PsdImage.save(file_path) persiste le document modifié sur le disque
  • Recharger un fichier enregistré avec PsdImage.load confirme que les modifications sont correctement effectuées en aller-retour
  • Les propriétés non répertoriées ci-dessus (informations de canal, données de masque, plages de fusion) déclenchent NotSupportedException si elles sont définies — cette version ne prend en charge que les modifications de métadonnées, pas la réécriture complète

Éditions légères, scriptables

  • Renommer les calques de manière programmatique dans le cadre d’un pipeline d’organisation de fichiers automatisé
  • Repositionner ou redimensionner la boîte englobante d’un calque sans outil de conception
  • Mettre à jour en lot les modes de fusion dans de nombreux fichiers pour assurer la cohérence

Inspecter les données du canal et des ressources

  • Layer.channel_information expose les collections de métadonnées par canal
  • Layer.has_mask_data et has_blending_ranges_data indiquent si des sections optionnelles sont présentes
  • PsdLoadException et PsdSaveException affichent les erreurs de chargement/enregistrement avec des messages clairs
  • Toutes les classes sont pure Python sans modules d’extension compilés

Diagnostiquer et Inspecter

  • Diagnostiquez pourquoi un fichier PSD particulier échoue à se charger, avec une exception typée au lieu d’une erreur générique
  • Vérifiez si un calque contient un masque ou des données de plage de fusion avant de le traiter
  • Inspectez les métadonnées par canal pour les diagnostics au niveau du format

Charger un fichier PSD et inspecter ses calques

Chargez un fichier avec Image.load pour obtenir une instance PsdImage pour les membres spécifiques au PSD.

from aspose_psd_foss.image import Image
with Image.load("test.psd") as image:
    print(f"Width: {image.width}, Channels: {image.channels_count}, Layers: {len(image.layers)}")

Modifier les limites du calque et le mode de fusion, puis enregistrer

Les limites du calque et le mode de fusion peuvent être modifiés sur place et enregistrés sur le disque.

from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode

with PsdImage.load("test.psd") as image:
    image.layers[0].left = 10
    image.layers[0].top = 20
    image.layers[0].right = 40
    image.layers[0].bottom = 60
    image.layers[0].blend_mode_key = BlendMode.MULTIPLY
    image.save("edited.psd")

with PsdImage.load("edited.psd") as reloaded:
    print(f"Bounds: {reloaded.layers[0].bounds}, BlendMode: {reloaded.layers[0].blend_mode_key}")

Lire les informations du canal (lecture seule)

Les informations de canal peuvent être lues mais pas réaffectées — tenter de les définir provoque NotSupportedException.

from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("test.psd") as image:
    layer = image.layers[0]
    channel_information = layer.channel_information
    print(f"Channel count: {layer.channels_count}, first channel: `NotSupportedException`")
    # layer.channel_information = channel_information  # raises NotSupportedException

Foire aux questions

Quel est le modèle de licence ?

Aspose.PSD FOSS for Python est sous licence MIT. Vous pouvez l’utiliser, le modifier et le redistribuer selon les termes de la licence MIT, y compris dans des produits commerciaux.

Comment installer Aspose.PSD FOSS for Python ?

Voir la section d’installation ci-dessus pour la commande d’installation actuelle.

Quels formats Aspose.PSD FOSS for Python peut lire et écrire ?

Il charge et enregistre les fichiers PSD et PSB (Photoshop large document). Il ne rend pas et n’exporte pas les données de pixels vers d’autres formats raster tels que PNG ou JPEG.

Quelle est la classe de point d’entrée principale ?

PsdImage (une sous-classe de Image). Chargez un document avec PsdImage.load, puis lisez sa collection layers et les propriétés d’en-tête.

Puis-je modifier les métadonnées du calque ?

Oui — Layer expose un setter fonctionnel pour plusieurs propriétés, telles que la visibilité et le nom, et PsdImage.layers lui-même possède un setter fonctionnel pour remplacer la collection. Quelques propriétés spécifiques (informations de canal, données de masque, plages de fusion et certaines ressources au niveau du document) sont en lecture-seule dans cette version FOSS et lèvent NotSupportedException si elles sont définies.

  

Ressources de support et d'apprentissage

 Français