Probleemoplossing Aspose.PSD FOSS for Python

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

Diagnostische checklist

Voordat u een support-ticket opent, doorloopt u deze checklist:

  1. Bevestig dat het bestand echt PSD/PSB is — a PsdLoadException over een niet-ondersteunde versie betekent meestal dat het bestand geen echt PSD/PSB document is.
  2. Controleer op NotSupportedException — je zou een van de 7 alleen-lezen eigenschappen die hierboven staan kunnen instellen in plaats van deze te lezen.
  3. Verify opacity staat in het bereik 0-255, niet 0.0-1.0 of 0-100.
  4. Houd tekenreekswaarden onder 255 bytes voordat u opslaat, om te voorkomen PsdSaveException.
  5. Call image.save na elke bewerking — wijzigingen aan een Layer instantie wordt niet bewaard totdat het document is opgeslagen.

Zie ook

 Nederlands