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:$PYTHONPATHDiagnosztikai ellenőrzőlista
Mielőtt támogatási problémát nyitsz, futtasd le ezt az ellenőrzőlistát:
- Erősítse meg, hogy ez a fájl valóban PSD/PSB — a
PsdLoadExceptionegy nem támogatott verzióval kapcsolatban általában azt jelenti, hogy ez a fájl nem egy igazi PSD/PSB dokumentum. - 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á. - Verify
opacity0-255 tartományban van, nem 0.0-1.0 vagy 0-100. - Tartsa a karakterlánc értékeket 255 bájt alatt mentés előtt, a megelőzés érdekében
PsdSaveException. - Call
image.saveminden szerkesztés után — változások egyLayerpéldány nem kerül tartósításra, amíg a dokumentumot nem mentik.