Felsökning Aspose.PSD FOSS for Python

Felsökning Aspose.PSD FOSS for Python

Felsökning av Aspose.PSD FOSS för Python

Den här sidan täcker de vanligaste problemen som uppstår när man laddar, granskar och sparar PSD/PSB-dokument med Aspose.PSD FOSS för Python.


Laddningsproblem

PsdLoadException med ett meddelande om en ej stödd version

Filens deklarerade PSD-versionsfält är varken standard-PSD eller det stora dokumentet PSB-värdet. Bekräfta att filen är ett äkta, okorrupt PSD/PSB-dokument innan du laddar den:

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

PsdLoadException om en sektionslängd som överskrider en gräns

Filens interna längdfält är inkonsekventa med dess faktiska storlek — detta betyder vanligtvis att filen är trunkerad eller korrupt, inte att den använder en ej stödd men annars giltig struktur. Exportera om filen från dess källapplikation och försök igen.


Sparningsproblem

PsdSaveException om en Pascal-stränglängd

Ett strängvärde — oftast ett lager- eller resursnamn — överskrider 255 byte, det maximala som ett PSD Pascal-strängfält kan koda:

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

Redigeringsproblem

NotSupportedException vid inställning av en egenskap

Flera egenskaper är skrivskyddade i denna FOSS-build. På PsdImage: active_layer, image_resources, global_layer_resources, has_transparency_data. På Layer: channel_information, layer_mask_data, layer_blending_ranges_data. Behandla dessa som endast läsbara — tilldela dem inte.

Lageropaciteten ser felaktig ut efter att ha satts

Layer.opacity är konventionellt ett värde 0-255, inte en bråkdel 0,0-1,0 eller en procentsats:

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

En lagerborttagning får ingen effekt

PsdImage.layers har en fungerande setter på samlingsnivå, men enskilda listobjekt kan inte helt enkelt tas bort på plats — tilldela hela den filtrerade listan på nytt:

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

Installationsproblem

Paketet hittades inte

Bekräfta den exakta paketidentiteten:

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

Diagnostisk checklista

Innan du öppnar ett supportärende, gå igenom denna checklista:

  1. Bekräfta att filen verkligen är PSD/PSB — a PsdLoadException om en version som inte stöds betyder vanligtvis att filen inte är ett riktigt PSD/PSB-dokument.
  2. Kontrollera för NotSupportedException — du kan ha satt en av de 7 skrivskyddade egenskaperna som listas ovan istället för att läsa den.
  3. Verify opacity är i intervallet 0-255, inte 0.0-1.0 eller 0-100.
  4. Håll strängvärden under 255 byte innan du sparar, för att undvika PsdSaveException.
  5. Call image.save efter varje redigering — ändringar i en Layer instansen sparas inte förrän dokumentet sparas.

Se även

 Svenska