Risoluzione dei problemi Aspose.PSD FOSS for Python

Risoluzione dei problemi Aspose.PSD FOSS for Python

Risoluzione dei problemi Aspose.PSD FOSS per Python

Questa pagina copre i problemi più comuni riscontrati durante il caricamento, l’ispezione e il salvataggio dei documenti PSD/PSB con Aspose.PSD FOSS per Python.


Problemi di caricamento

PsdLoadException con un messaggio relativo a una versione non supportata

Il campo della versione PSD dichiarato nel file non corrisponde né alla PSD standard né al valore PSB per documenti di grandi dimensioni. Verifica che il file sia un documento PSD/PSB autentico e non corrotto prima di caricarlo:

try:
    image = PsdImage.load("input.psd")
except PsdLoadException as ex:
    print(f"Not a valid PSD/PSB file: {ex}")

PsdLoadException relativo a una lunghezza di sezione che supera un limite

I campi di lunghezza interni del file sono incoerenti con le sue dimensioni effettive — questo di solito indica che il file è troncato o corrotto, non che utilizzi una struttura non supportata ma altrimenti valida. Esporta nuovamente il file dall’applicazione di origine e riprova.


Problemi di salvataggio

PsdSaveException sulla lunghezza di una stringa Pascal

Un valore stringa — più comunemente il nome di un livello o di una risorsa — supera i 255 byte, il massimo che un campo stringa Pascal di PSD può codificare:

layer.name = layer.name[:255] if len(layer.name) > 255 else layer.name
image.save("output.psd")

Problemi di modifica

NotSupportedException durante l’impostazione di una proprietà

Alcune proprietà sono in sola lettura in questa build FOSS. Su PsdImage: active_layer, image_resources, global_layer_resources, has_transparency_data. Su Layer: channel_information, layer_mask_data, layer_blending_ranges_data. Considerale come solo lettura — non assegnare loro valori.

L’opacità del livello sembra errata dopo averla impostata

Layer.opacity è convenzionalmente un valore da 0 a 255, non una frazione da 0,0 a 1,0 o una percentuale:

layer.opacity = 200  # approximately 78% opaque, not 200%

La rimozione di un livello non ha effetto

PsdImage.layers ha un setter funzionante a livello di collezione, ma gli elementi individuali della lista non possono semplicemente essere rimossi in loco — riassegna l’intera lista filtrata:

image.layers = [l for l in image.layers if l.name != "Unwanted Layer"]

Problemi di installazione

Pacchetto non trovato

Conferma l’identità esatta del pacchetto:

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:$PYTHONPATH

Checklist diagnostica

Prima di aprire una segnalazione di supporto, passa in rassegna questa checklist:

  1. Conferma che il file sia effettivamente PSD/PSB — a PsdLoadException riguardo a una versione non supportata di solito significa che il file non è un vero documento PSD/PSB.
  2. Verifica la presenza di NotSupportedException — potresti star impostando una delle 7 proprietà di sola lettura elencate sopra invece di leggerla.
  3. Verify opacity è nell’intervallo 0-255, non 0.0-1.0 o 0-100.
  4. Mantieni i valori stringa sotto i 255 byte prima di salvare, per evitare PsdSaveException.
  5. Call image.save dopo ogni modifica — modifiche a Layer l’istanza non viene mantenuta fino a quando il documento non viene salvato.

Vedi anche

 Italiano