Introduction
Aspose.PSD FOSS pour Python est une nouvelle bibliothèque open-source pour travailler avec des fichiers PSD et PSB (Photoshop large document) depuis du code Python. Elle est publiée sous licence MIT, ne possède aucune dépendance native tierce, et ne nécessite que la bibliothèque standard Python à l’exécution. Le paquet est importé sous le nom aspose_psd_foss.
La bibliothèque est organisée autour de la classe PsdImage, qui étend la classe de base abstraite Image, ainsi que de la classe Layer. Image.load() / PsdImage.load() chargent un document depuis un chemin de fichier ou un flux, exposant les informations d’en-tête (width, height, color_mode, version, compression) et la collection layers analysée; PsdImage.save() écrit le document de nouveau dans un fichier ou un flux. Les deux classes prennent en charge l’instruction with pour le nettoyage automatique. Chaque Layer expose ses propres métadonnées — name, bounds, is_visible, opacity, clipping, blend_mode_key, et les informations de canal/masque — et un sous-ensemble de ces propriétés peut être modifié en place et enregistré de nouveau dans le fichier.
Cette version s’adresse aux développeurs qui doivent inspecter ou effectuer des modifications limitées des métadonnées des fichiers PSD/PSB au sein d’une base de code Python sans licence commerciale — des outils de pipeline d’actifs qui rapportent la structure des calques, des scripts de construction qui renomment ou basculent la visibilité des calques avant la remise, ou des fixtures de test qui doivent lire l’en-tête PSD et les données de calque sans moteur de rendu complet. La bibliothèque ne rend pas les données de pixels ni ne convertit PSD/PSB vers d’autres formats d’image — elle est un lecteur/écrivain axé sur les métadonnées pour le format conteneur PSD/PSB.
Ce qui est inclus
Inspection du document
PsdImage.load() analyse l’en-tête d’un fichier PSD ou PSB en propriétés typées — width, height, bits_per_channel, color_mode, version, compression, size et is_flatten — sans décoder les données de pixels.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Layers: {image.layer_count}, Compression: {image.compression}")
Métadonnées du calque
Chaque entrée dans PsdImage.layers est un Layer exposant ses propres limites, visibilité, opacité, rognage et métadonnées du mode de fusion.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
for layer in image.layers:
print(f"{layer.name}: {layer.bounds}, Visible={layer.is_visible}, Opacity={layer.opacity}")
Modifications de métadonnées prises en charge
Un sous-ensemble des propriétés du calque peut être modifié sur place et réécrit avec PsdImage.save(): nom, visibilité, opacité, rognage, clé du mode de fusion et les quatre bords des limites.
from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode
with PsdImage.load("input.psd") as image:
layer = image.layers[0]
layer.name = f"{layer.name} (edited)"
layer.is_visible = not layer.is_visible
layer.opacity = 128
layer.blend_mode_key = BlendMode.MULTIPLY
image.save("output.psd")
Démarrage rapide
Installez le paquet, puis chargez un fichier PSD ou PSB, inspectez ses calques et enregistrez-le à nouveau:
git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-Python.git
cd Aspose.PSD-FOSS-for-Python
# No packaging manifest is published yet -- run from this folder,
# or add it to PYTHONPATH:
export PYTHONPATH=$PWD:$PYTHONPATHfrom aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
print(f"Width: {image.width}, Height: {image.height}, Layers: {image.layer_count}")
for layer in image.layers:
print(f" {layer.name}: {layer.bounds}")
image.save("output.psd")
Formats pris en charge
| Format | Extension | Lire | Écrire |
|---|---|---|---|
| PSD | psd | ✓ | ✓ |
| PSB | psb | ✓ | ✓ |
Open Source et licences
Aspose.PSD FOSS pour Python est sous licence MIT et peut être utilisé dans des produits commerciaux sans redevances, sans filigrane d’évaluation ni limite d’utilisation.
La bibliothèque ne possède aucune dépendance native tierce — seule la bibliothèque standard Python est requise à l’exécution.