Řešení potíží Aspose.PSD FOSS for Python
Řešení problémů Aspose.PSD FOSS pro Python
Tato stránka popisuje nejčastější problémy, které se vyskytují při načítání, prohlížení a ukládání dokumentů PSD/PSB pomocí Aspose.PSD FOSS pro Python.
Problémy s načítáním
PsdLoadException se zprávou o nepodporované verzi
Deklarované pole verze PSD v souboru není ani standardní PSD, ani hodnota pro velké dokumenty PSB. Před načtením ověřte, že soubor je pravý, nepoškozený dokument PSD/PSB:
try:
image = PsdImage.load("input.psd")
except PsdLoadException as ex:
print(f"Not a valid PSD/PSB file: {ex}")PsdLoadException o délce sekce překračující hranici
Interní pole délky v souboru jsou nekompatibilní s jeho skutečnou velikostí — to obvykle znamená, že soubor je oříznutý nebo poškozený, nikoli že používá nepodporovanou, ale jinak platnou strukturu. Znovu exportujte soubor z původní aplikace a zkuste to znovu.
Problémy při ukládání
PsdSaveException o délce Pascalova řetězce
Řetězcová hodnota — nejčastěji název vrstvy nebo zdroje — překračuje 255bajtů, maximální velikost, kterou může pole Pascalova řetězce v PSD zakódovat:
layer.name = layer.name[:255] if len(layer.name) > 255 else layer.name
image.save("output.psd")Problémy při úpravách
NotSupportedException při nastavování vlastnosti
Několik vlastností je v této FOSS verzi jen pro čtení. Na PsdImage: active_layer, image_resources, global_layer_resources, has_transparency_data. Na Layer: channel_information, layer_mask_data, layer_blending_ranges_data. Považujte je za pouze-čitelné — nepřiřazujte jim hodnoty.
Průhlednost vrstvy vypadá po nastavení nesprávně
Layer.opacity je obvykle hodnota v rozmezí 0-255, nikoli zlomek 0,0-1,0 nebo procento:
layer.opacity = 200 # approximately 78% opaque, not 200%Odstranění vrstvy se neprojeví
PsdImage.layers má funkční setter na úrovni kolekce, ale jednotlivé prvky seznamu nelze jednoduše odstranit na místě — přiřaďte celý filtrovaný seznam:
image.layers = [l for l in image.layers if l.name != "Unwanted Layer"]Problémy s instalací
Balíček nenalezen
Potvrďte přesnou identitu balíčku:
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:$PYTHONPATHDiagnostický kontrolní seznam
Před otevřením požadavku na podporu projděte tento kontrolní seznam:
- Potvrďte, že soubor je skutečně PSD/PSB — a
PsdLoadExceptiono nepodporované verzi obvykle znamená, že soubor není pravý dokument PSD/PSB. - Zkontrolujte
NotSupportedException— možná nastavujete jednu ze 7 jen pro čtení uvedených vlastností místo jejího čtení. - Verify
opacityje v rozsahu 0-255, ne 0.0-1.0 nebo 0-100. - Udržujte řetězcové hodnoty pod 255 bajtů před uložením, aby se předešlo
PsdSaveException. - Call
image.savepo každé úpravě — změny vLayerinstance nejsou trvale uloženy, dokud není dokument uložen.