Introduzione
Aspose.PSD FOSS per Python è una nuova libreria open-source per lavorare con file PSD e PSB (Photoshop large document) dal codice Python. È rilasciata sotto licenza MIT, non ha dipendenze native di terze parti e richiede solo la libreria standard Python a runtime. Il pacchetto viene importato come aspose_psd_foss.
La libreria è organizzata attorno alla classe PsdImage, che estende la classe base astratta Image, e alla classe Layer. Image.load() / PsdImage.load() caricano un documento da un percorso file o da uno stream, esponendo le informazioni dell’intestazione (width, height, color_mode, version, compression) e la collezione layers analizzata; PsdImage.save() scrive il documento nuovamente su un file o stream. Entrambe le classi supportano l’istruzione with per la pulizia automatica. Ogni Layer espone i propri metadati — name, bounds, is_visible, opacity, clipping, blend_mode_key, e le informazioni di canale/maschera — e un sottoinsieme di queste proprietà può essere modificato in loco e salvato nuovamente nel file.
Questa versione è destinata agli sviluppatori che hanno bisogno di ispezionare o apportare modifiche limitate ai metadati dei file PSD/PSB all’interno di un codebase Python senza una licenza commerciale — strumenti della pipeline asset che riportano la struttura dei livelli, script di build che rinominano o attivano/disattivano la visibilità dei livelli prima del trasferimento, o fixture di test che devono leggere l’intestazione PSD e i dati dei livelli senza un motore di rendering completo. La libreria non rende i dati pixel né converte PSD/PSB in altri formati immagine — è un lettore/scrittore focalizzato sui metadati per il formato contenitore PSD/PSB.
Cosa è incluso
Ispezione del documento
PsdImage.load() analizza l’intestazione di un file PSD o PSB in proprietà tipizzate — width, height, bits_per_channel, color_mode, version, compression, size e is_flatten — senza decodificare i dati pixel.
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}")
Metadati del livello
Ogni voce in PsdImage.layers è un Layer che espone i propri confini, visibilità, opacità, ritaglio e i metadati della modalità di fusione.
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}")
Modifiche ai metadati supportate
Un sottoinsieme delle proprietà del livello può essere modificato in loco e riscritto con PsdImage.save(): nome, visibilità, opacità, ritaglio, chiave della modalità di fusione e i quattro bordi dei confini.
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")
Guida rapida
Installa il pacchetto, quindi carica un file PSD o PSB, ispeziona i suoi livelli e salvalo nuovamente:
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")
Formati supportati
| Formato | Estensione | Leggi | Scrivi |
|---|---|---|---|
| PSD | psd | ✓ | ✓ |
| PSB | psb | ✓ | ✓ |
Open Source e Licenze
Aspose.PSD FOSS per Python è con licenza MIT e può essere utilizzato in prodotti commerciali senza royalty, senza filigrana di valutazione o limiti d’uso.
La libreria non ha dipendenze native di terze parti — è richiesta solo la libreria standard Python a runtime.