Depanare Aspose.PSD FOSS for Python

Depanare Aspose.PSD FOSS for Python

Depanare Aspose.PSD FOSS pentru Python

Această pagină acoperă cele mai comune probleme întâlnite la încărcarea, inspectarea și salvarea documentelor PSD/PSB cu Aspose.PSD FOSS pentru Python.


Probleme la încărcare

PsdLoadException cu un mesaj despre o versiune nesuporâtă

Câmpul de versiune PSD declarat în fișier nu este nici versiunea standard PSD, nici valoarea PSB pentru documente mari. Confirmă că fișierul este un document PSD/PSB autentic și necorupt înainte de încărcare:

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

PsdLoadException despre o lungime a secțiunii care depășește o limită

Câmpurile interne de lungime ale fișierului sunt inconsistente cu dimensiunea sa reală — acest lucru înseamnă de obicei că fișierul este trunchiat sau corupt, nu că folosește o structură nesuporâtă, dar în rest validă. Reexportă fișierul din aplicația sursă și încearcă din nou.


Probleme la salvare

PsdSaveException despre lungimea unui șir Pascal

O valoare de tip șir — de obicei numele unui strat sau al unei resurse — depășește 255 de octeți, maximumul pe care un câmp de șir Pascal PSD îl poate codifica:

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

Probleme la editare

NotSupportedException la setarea unei proprietăți

Mai multe proprietăți sunt numai citire în această versiune FOSS. Pe PsdImage: active_layer, image_resources, global_layer_resources, has_transparency_data. Pe Layer: channel_information, layer_mask_data, layer_blending_ranges_data. Tratați-le ca fiind doar de tip get — nu le atribuiți.

Opacitatea stratului pare incorectă după ce a fost setată

Layer.opacity este în mod convențional o valoare 0-255, nu o fracție 0.0-1.0 sau un procentaj:

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

Eliminarea unui strat nu are efect

PsdImage.layers are un setter funcțional la nivelul colecției, dar elementele individuale ale listei nu pot fi pur și simplu eliminate la fața locului — reasignați întreaga listă filtrată:

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

Probleme de instalare

Pachetul nu a fost găsit

Confirmați identitatea exactă a pachetului:

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

Listă de verificare pentru diagnostic

Înainte de a deschide o problemă de suport, parcurgeți această listă de verificare:

  1. Confirmați că fișierul este cu adevărat PSD/PSB — a PsdLoadException despre o versiune neacceptată de obicei înseamnă că fișierul nu este un document PSD/PSB real.
  2. Verificați NotSupportedException — este posibil să setați una dintre cele 7 proprietăți numai pentru citire enumerate mai sus în loc să o citiți.
  3. Verify opacity este în intervalul 0-255, nu 0.0-1.0 sau 0-100.
  4. Păstrați valorile șirului sub 255 de octeți înainte de a salva, pentru a evita PsdSaveException.
  5. Call image.save după fiecare editare — modificări la un Layer instanțele nu sunt păstrate până când documentul este salvat.

Vezi și:

 Română