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

Aspose.PSD FOSS per Python

Libreria Python open source per caricare, ispezionare e salvare file PSD/PSB con accesso ai metadati dei livelli. Licenza MIT, non è necessario Adobe Photoshop.

Libreria Python Open-Source per file PSD/PSB

Aspose.PSD FOSS for Python è una libreria gratuita, con licenza MIT, pure Python per caricare, ispezionare, e salvare file Adobe Photoshop PSD e PSB senza richiedere Adobe Photoshop o alcun runtime proprietario. Espone un API leggero e autonomo incentrato su PsdImage e Layer, offrendo agli sviluppatori Python un accesso programmatico alla struttura di un documento PSD senza dipendenze native da compilare. La libreria legge le dimensioni, la modalità colore, la profondità di bit e il metodo di compressione di un file PSD/PSB, ed espone ogni livello tramite PsdImage.layers: ogni Layer riporta il suo nome, i confini, l’opacità, la visibilità e la chiave della modalità di fusione (BlendMode), insieme alle informazioni di canale di livello inferiore (ChannelInformation) e ai dati della maschera (LayerMaskData). Un sottoinsieme dei metadati del livello — nome, confini (left/top/right/bottom), e modalità di fusione — può essere modificato in loco e salvato nuovamente su disco con PsdImage.save(); tutto il resto sulla superficie è in sola lettura per progettazione in questa build FOSS. Aspose.PSD FOSS for Python è distribuito con licenza MIT. Installalo con pip install aspose-psd-foss — la libreria non ha dipendenze native di terze parti, solo la libreria standard Python. Per la famiglia di prodotti enterprise, vedi Aspose.PSD — Enterprise Product Family.

Carica e ispeziona file PSD/PSB

  • Image.load(file_path) apre un file e restituisce un’istanza PsdImage
  • PsdImage.width, height e channels_count segnalano le dimensioni della tela e il conteggio dei canali
  • I dettagli dell’intestazione del documento vengono letti dalla modalità colore e dai metadati di compressione del file analizzato
  • PsdImage.layers restituisce l’elenco completo degli oggetti Layer nell’ordine del documento

Convalida e catalogazione dei file di progettazione

  • Convalidare un batch di file di design prima di passarli a un processo a valle
  • Creare un catalogo di asset leggero delle dimensioni e del conteggio dei livelli di PSD/PSB
  • Rilevare i file PSB (documenti di grandi dimensioni) che necessitano di una gestione diversa rispetto ai PSD standard

Lavorare con i livelli

  • PsdImage.layers restituisce ogni Layer nell’ordine del documento; ogni Layer espone name, bounds, opacity, is_visible e blend_mode_key
  • Layer.channel_information espone i metadati del canale per un’ispezione più approfondita
  • Layer.channels_count indica quanti canali immagine trasporta un layer
  • PsdImage.layers stesso può essere riassegnato per rimuovere o riordinare i layer

Struttura del Livello di Audit

  • Verifica la struttura dei livelli di un PSD senza aprire Photoshop
  • Genera un report dei nomi dei livelli, della visibilità e delle modalità di fusione per una revisione del design
  • Identifica i livelli nascosti o con opacità zero rimasti da modifiche precedenti

Modifica metadati di base del livello

  • Layer.name, Layer.left/top/right/bottom e Layer.blend_mode_key possono essere impostati direttamente
  • PsdImage.save(file_path) salva il documento modificato su disco
  • Ricaricare un file salvato con PsdImage.load conferma che le modifiche vengano correttamente ripristinate
  • Le proprietà non elencate sopra (informazioni sui canali, dati della maschera, intervalli di fusione) generano NotSupportedException se impostate — questa build supporta modifiche solo ai metadati, non la riscrittura completa

Modifiche leggere, scriptabili

  • Rinomina i livelli in modo programmatico come parte di una pipeline di organizzazione file automatizzata
  • Riposiziona o ridimensiona il riquadro di delimitazione di un livello senza uno strumento di design
  • Aggiorna in batch le modalità di fusione in molti file per garantire coerenza

Ispeziona i dati del canale e della risorsa

  • Layer.channel_information espone collezioni di metadati per canale
  • Layer.has_mask_data e has_blending_ranges_data segnalano se le sezioni opzionali sono presenti
  • PsdLoadException e PsdSaveException espongono errori di caricamento/salvataggio con messaggi chiari
  • Tutte le classi sono pure Python senza moduli di estensione compilati

Diagnostica e Ispeziona

  • Diagnosticare perché un particolare file PSD non riesce a caricarsi, con un’eccezione tipizzata invece di un errore generico
  • Verificare se un livello contiene dati di maschera o di intervallo di fusione prima di elaborarlo
  • Ispezionare i metadati per canale per la diagnostica a livello di formato

Carica un file PSD e ispeziona i suoi livelli

Carica un file con Image.load per ottenere un’istanza PsdImage per i membri specifici di 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)}")

Modifica i limiti del livello e la modalità di fusione, quindi salva

I limiti del livello e la modalità di fusione possono essere modificati in loco e salvati nuovamente su disco.

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}")

Leggi le informazioni del canale (solo lettura)

Le informazioni del canale possono essere lette ma non riassegnate — provare a impostarle genera 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

Domande Frequenti

Qual è il modello di licenza?

Aspose.PSD FOSS for Python è rilasciato con licenza MIT. È possibile usarlo, modificarlo e ridistribuirlo secondo i termini della licenza MIT, anche in prodotti commerciali.

Come installo Aspose.PSD FOSS for Python?

Vedi la sezione di installazione sopra per il comando di installazione corrente.

Quali formati può Aspose.PSD FOSS for Python leggere e scrivere?

Carica e salva file PSD e PSB (documenti di grandi dimensioni di Photoshop). Non rende né esporta i dati pixel in altri formati raster come PNG o JPEG.

Qual è la classe principale di ingresso?

PsdImage (una sottoclasse di Image). Carica un documento con PsdImage.load, quindi leggi la sua collezione layers e le proprietà dell’intestazione.

Posso modificare i metadati del layer?

Sì — Layer espone un setter funzionante per diverse proprietà, come visibilità e nome, e PsdImage.layers stesso ha un setter funzionante per sostituire la collezione. Alcune proprietà specifiche (informazioni sul canale, dati della maschera, intervalli di fusione e alcune risorse a livello di documento) sono di sola lettura in questa build FOSS e generano NotSupportedException se impostate.

  

Risorse di Supporto e Apprendimento

 Italiano