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:$PYTHONPATHDiagnostisk checklista
Innan du öppnar ett supportärende, gå igenom denna checklista:
- Bekräfta att filen verkligen är PSD/PSB — a
PsdLoadExceptionom en version som inte stöds betyder vanligtvis att filen inte är ett riktigt PSD/PSB-dokument. - 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. - Verify
opacityär i intervallet 0-255, inte 0.0-1.0 eller 0-100. - Håll strängvärden under 255 byte innan du sparar, för att undvika
PsdSaveException. - Call
image.saveefter varje redigering — ändringar i enLayerinstansen sparas inte förrän dokumentet sparas.