Fehlerbehebung Aspose.PSD FOSS for Python

Fehlerbehebung Aspose.PSD FOSS for Python

Fehlerbehebung Aspose.PSD FOSS für Python

Diese Seite behandelt die häufigsten Probleme, die beim Laden, Prüfen und Speichern von PSD/PSB-Dokumenten mit Aspose.PSD FOSS für Python auftreten.


Ladeprobleme

PsdLoadException mit einer Meldung über eine nicht unterstützte Version

Das deklarierte PSD-Versionsfeld des Dokuments ist weder der Standard-PSD- noch der große Dokument-PSB-Wert. Stellen Sie sicher, dass es sich um ein echtes, unbeschädigtes PSD/PSB-Dokument handelt, bevor Sie es laden:

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

PsdLoadException wegen einer Abschnittslänge, die eine Grenze überschreitet

Die internen Längenfelder des Dokuments stimmen nicht mit seiner tatsächlichen Größe überein – das bedeutet in der Regel, dass das Dokument abgeschnitten oder beschädigt ist, nicht dass es eine nicht unterstützte, aber ansonsten gültige Struktur verwendet. Exportieren Sie das Dokument erneut aus der Quellanwendung und versuchen Sie es erneut.


Speicherprobleme

PsdSaveException über eine Pascal-String-Länge

Ein Zeichenkettenwert — meist ein Ebenen- oder Ressourcename — überschreitet 255Byte, das Maximum, das ein PSD-Pascal-String-Feld kodieren kann:

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

Bearbeitungsprobleme

NotSupportedException beim Setzen einer Eigenschaft

Mehrere Eigenschaften sind in diesem FOSS-Build schreibgeschützt. Auf PsdImage: active_layer, image_resources, global_layer_resources, has_transparency_data. Auf Layer: channel_information, layer_mask_data, layer_blending_ranges_data. Behandle diese als nur lesbar— weise ihnen keinen Wert zu.

Die Ebenendeckkraft sieht nach dem Setzen falsch aus

Layer.opacity ist üblicherweise ein Wert von 0–255, nicht ein Bruch von 0,0–1,0 oder ein Prozentsatz:

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

Das Entfernen einer Ebene hat keine Wirkung

PsdImage.layers hat einen funktionierenden Setter auf Sammlungsebene, aber einzelne Listenelemente können nicht einfach vor Ort entfernt werden — weisen Sie die gesamte gefilterte Liste neu zu:

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

Installationsprobleme

Paket nicht gefunden

Bestätigen Sie die genaue Paketidentität:

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

Diagnose-Checkliste

Bevor Sie ein Support-Ticket öffnen, gehen Sie diese Checkliste durch:

  1. Bestätigen Sie, dass die Datei tatsächlich PSD/PSB ist — a PsdLoadException Ein Hinweis auf eine nicht unterstützte Version bedeutet in der Regel, dass die Datei kein echtes PSD/PSB-Dokument ist.
  2. Prüfen Sie auf NotSupportedException — Sie könnten eine der oben aufgeführten 7 schreibgeschützten Eigenschaften setzen, anstatt sie zu lesen.
  3. Verify opacity liegt im Bereich von 0-255, nicht 0.0-1.0 oder 0-100.
  4. Halten Sie Zeichenkettenwerte unter 255 Bytes vor dem Speichern, um zu vermeiden PsdSaveException.
  5. Call image.save nach jeder Bearbeitung — Änderungen an einer Layer Instanz werden nicht gespeichert, bis das Dokument gespeichert ist.

Siehe auch

 Deutsch