Probleemoplossing Aspose.PSD FOSS for Python
Probleemoplossing Aspose.PSD FOSS voor Python
Deze pagina behandelt de meest voorkomende problemen die zich voordoen bij het laden, inspecteren en opslaan van PSD/PSB documenten met Aspose.PSD FOSS voor Python.
Laadproblemen
PsdLoadException met een bericht over een niet-ondersteunde versie
Het PSD-versieveld dat in het bestand is opgegeven, is noch de standaard PSD-waarde, noch de grote-document PSB-waarde. Controleer voordat u het bestand laadt of het een echt, niet-beschadigd PSD/PSB document is:
try:
image = PsdImage.load("input.psd")
except PsdLoadException as ex:
print(f"Not a valid PSD/PSB file: {ex}")PsdLoadException over een sectielengte die een grens overschrijdt
De interne lengtevakjes van het bestand komen niet overeen met de werkelijke grootte — dit betekent meestal dat het bestand is afgekapt of beschadigd, niet dat het een niet-ondersteunde maar verder geldige structuur gebruikt. Exporteer het bestand opnieuw vanuit de bronapplicatie en probeer het opnieuw.
Opslaanproblemen
PsdSaveException over de lengte van een Pascal-tekenreeks
Een tekenreekswaarde — meestal een laag- of resource-naam — overschrijdt 255bytes, het maximum dat een PSD Pascal-tekenreeksveld kan coderen:
layer.name = layer.name[:255] if len(layer.name) > 255 else layer.name
image.save("output.psd")Bewerkingsproblemen
NotSupportedException bij het instellen van een eigenschap
Verschillende eigenschappen zijn alleen-lezen in deze FOSS-build. Op PsdImage: active_layer, image_resources, global_layer_resources, has_transparency_data. Op Layer: channel_information, layer_mask_data, layer_blending_ranges_data. Beschouw deze als alleen-lezen — wijs er geen waarden aan toe.
Laag-opaciteit ziet er verkeerd uit na het instellen.
Layer.opacity is conventioneel een waarde van 0-255, geen 0,0-1,0-breuk of percentage:
layer.opacity = 200 # approximately 78% opaque, not 200%Het verwijderen van een laag heeft geen effect
PsdImage.layers heeft een werkende setter op verzamelingsniveau, maar individuele lijstitems kunnen niet eenvoudig ter plekke worden verwijderd — wijs de hele gefilterde lijst opnieuw toe:
image.layers = [l for l in image.layers if l.name != "Unwanted Layer"]Installatieproblemen
Pakket niet gevonden
Bevestig de exacte pakketidentiteit:
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:$PYTHONPATHDiagnostische checklist
Voordat u een support-ticket opent, doorloopt u deze checklist:
- Bevestig dat het bestand echt PSD/PSB is — a
PsdLoadExceptionover een niet-ondersteunde versie betekent meestal dat het bestand geen echt PSD/PSB document is. - Controleer op
NotSupportedException— je zou een van de 7 alleen-lezen eigenschappen die hierboven staan kunnen instellen in plaats van deze te lezen. - Verify
opacitystaat in het bereik 0-255, niet 0.0-1.0 of 0-100. - Houd tekenreekswaarden onder 255 bytes voordat u opslaat, om te voorkomen
PsdSaveException. - Call
image.savena elke bewerking — wijzigingen aan eenLayerinstantie wordt niet bewaard totdat het document is opgeslagen.