Řešení potíží Aspose.PSD FOSS for Python

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

Diagnostický kontrolní seznam

Před otevřením požadavku na podporu projděte tento kontrolní seznam:

  1. Potvrďte, že soubor je skutečně PSD/PSB — a PsdLoadException o nepodporované verzi obvykle znamená, že soubor není pravý dokument PSD/PSB.
  2. Zkontrolujte NotSupportedException — možná nastavujete jednu ze 7 jen pro čtení uvedených vlastností místo jejího čtení.
  3. Verify opacity je v rozsahu 0-255, ne 0.0-1.0 nebo 0-100.
  4. Udržujte řetězcové hodnoty pod 255 bajtů před uložením, aby se předešlo PsdSaveException.
  5. Call image.save po každé úpravě — změny v Layer instance nejsou trvale uloženy, dokud není dokument uložen.

Viz také:

 Čeština