Hibaelhárítás Aspose.PSD FOSS for Python

Hibaelhárítás Aspose.PSD FOSS for Python

Hibakeresés a Aspose.PSD FOSS számára Python

Ez az oldal a leggyakoribb problémákat ismerteti, amelyek a PSD/PSB dokumentumok betöltése, ellenőrzése és mentése során merülnek fel a Aspose.PSD FOSS használatával Python esetén.


Betöltési problémák

PsdLoadException egy nem támogatott verzióról szóló üzenettel

A fájl deklarált PSD verziómezője sem a szabványos PSD, sem a nagy dokumentumú PSB érték nem. Ellenőrizze, hogy a dokumentum valódi, sértetlen PSD/PSB formátumú állomány-e a betöltés előtt:

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

PsdLoadException egy szakaszhossz határ átlépéséről szóló üzenettel

A fájl belső hosszmezői nem egyeznek a tényleges méretével – ez általában azt jelenti, hogy a fájl csonkolt vagy sérült, nem pedig, hogy nem támogatott, de egyébként érvényes struktúrát használ. Exportálja újra a fájlt a forrásalkalmazásból, és próbálja újra.


Mentési problémák

PsdSaveException egy Pascal-karakterlánc hosszával kapcsolatban

Egy karakterlánc érték — leggyakrabban egy réteg vagy erőforrás neve — meghaladja a 255 bájtot, ami a PSD Pascal-karakterlánc mező által kódolható legnagyobb érték:

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

Szerkesztési problémák

NotSupportedException egy tulajdonság beállításakor

Több tulajdonság csak olvasható ebben a FOSS buildben. PsdImage esetén: active_layer, image_resources, global_layer_resources, has_transparency_data. Layer esetén: channel_information, layer_mask_data, layer_blending_ranges_data. Tekintse ezeket csak leolvashatóként — ne próbálja őket módosítani.

A réteg átlátszósága hibásnak tűnik a beállítás után

Layer.opacity hagyományosan 0-255 érték, nem 0,0-1,0 tört vagy százalék:

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

A réteg eltávolítása nem lép életbe

PsdImage.layers rendelkezik működő beállítóval a gyűjtemény szinten, de az egyes listaelemek egyszerűen nem távolíthatók el helyben – rendeld újra a teljes szűrt listát:

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

Telepítési problémák

A csomag nem található

Erősítsd meg a pontos csomagazonosítót:

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

Diagnosztikai ellenőrzőlista

Mielőtt támogatási problémát nyitsz, futtasd le ezt az ellenőrzőlistát:

  1. Erősítse meg, hogy ez a fájl valóban PSD/PSB — a PsdLoadException egy nem támogatott verzióval kapcsolatban általában azt jelenti, hogy ez a fájl nem egy igazi PSD/PSB dokumentum.
  2. Ellenőrizze NotSupportedException — előfordulhat, hogy a fent felsorolt 7 csak-olvasásra szánt tulajdonság egyikét állítja be, ahelyett, hogy olvasná.
  3. Verify opacity 0-255 tartományban van, nem 0.0-1.0 vagy 0-100.
  4. Tartsa a karakterlánc értékeket 255 bájt alatt mentés előtt, a megelőzés érdekében PsdSaveException.
  5. Call image.save minden szerkesztés után — változások egy Layer példány nem kerül tartósításra, amíg a dokumentumot nem mentik.

Lásd még:

 Magyar