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:$PYTHONPATHDiagnose-Checkliste
Bevor Sie ein Support-Ticket öffnen, gehen Sie diese Checkliste durch:
- Bestätigen Sie, dass die Datei tatsächlich PSD/PSB ist — a
PsdLoadExceptionEin Hinweis auf eine nicht unterstützte Version bedeutet in der Regel, dass die Datei kein echtes PSD/PSB-Dokument ist. - Prüfen Sie auf
NotSupportedException— Sie könnten eine der oben aufgeführten 7 schreibgeschützten Eigenschaften setzen, anstatt sie zu lesen. - Verify
opacityliegt im Bereich von 0-255, nicht 0.0-1.0 oder 0-100. - Halten Sie Zeichenkettenwerte unter 255 Bytes vor dem Speichern, um zu vermeiden
PsdSaveException. - Call
image.savenach jeder Bearbeitung — Änderungen an einerLayerInstanz werden nicht gespeichert, bis das Dokument gespeichert ist.