Einführung
Aspose.PSD FOSS für Python ist eine neue Open-Source-Bibliothek zum Arbeiten mit PSD- und PSB (Photoshop Large Document)-Dateien aus Python-Code. Sie wird unter der MIT-Lizenz veröffentlicht, hat keinerlei Drittanbieter-Native-Abhängigkeiten und benötigt zur Laufzeit nur die Python-Standardbibliothek. Das Paket wird als aspose_psd_foss importiert.
Die Bibliothek ist um die Klasse PsdImage herum organisiert, die die abstrakte Basisklasse Image erweitert, sowie um die Klasse Layer. Image.load() / PsdImage.load() laden ein Dokument aus einem Dateipfad oder einem Stream und stellen Header-Informationen (width, height, color_mode, version, compression) sowie die geparste layers-Sammlung bereit; PsdImage.save() schreibt das Dokument zurück in eine Datei oder einen Stream. Beide Klassen unterstützen die Anweisung with für automatische Aufräumarbeiten. Jede Layer stellt ihre eigenen Metadaten bereit — name, bounds, is_visible, opacity, clipping, blend_mode_key und Kanal-/Maskeninformationen — und ein Teil dieser Eigenschaften kann in place geändert und wieder in die Datei gespeichert werden.
Dieses Release richtet sich an Entwickler, die PSD/PSB-Dateien innerhalb einer Python-Codebasis ohne kommerzielle Lizenz inspizieren oder begrenzte Metadaten-Änderungen vornehmen müssen — Werkzeuge für die Asset-Pipeline, die die Ebenenstruktur melden, Build-Skripte, die Ebenennamen ändern oder die Sichtbarkeit von Ebenen vor der Übergabe umschalten, oder Test-Fixtures, die PSD-Header- und Ebenendaten lesen müssen, ohne eine vollständige Rendering-Engine. Die Bibliothek rendert keine Pixeldaten und konvertiert PSD/PSB nicht in andere Bildformate — sie ist ein auf Metadaten fokussierter Reader/Writer für das Containerformat PSD/PSB.
Im Lieferumfang enthalten
Dokumenteninspektion
PsdImage.load() analysiert den Header einer PSD- oder PSB-Datei in typisierte Eigenschaften — width, height, bits_per_channel, color_mode, version, compression, size und is_flatten — ohne Pixeldaten zu dekodieren.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Layers: {image.layer_count}, Compression: {image.compression}")
Ebenen-Metadaten
Jeder Eintrag in PsdImage.layers ist ein Layer, das seine eigenen Begrenzungen, Sichtbarkeit, Deckkraft, Beschneidung und Blendmodus-Metadaten offenlegt.
from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
for layer in image.layers:
print(f"{layer.name}: {layer.bounds}, Visible={layer.is_visible}, Opacity={layer.opacity}")
Unterstützte Metadatenbearbeitungen
Eine Teilmenge der Ebeneneigenschaften kann vor Ort geändert und mit PsdImage.save() zurückgeschrieben werden: Name, Sichtbarkeit, Deckkraft, Beschneidung, Blendmodus-Schlüssel und die vier Begrenzungsränder.
from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode
with PsdImage.load("input.psd") as image:
layer = image.layers[0]
layer.name = f"{layer.name} (edited)"
layer.is_visible = not layer.is_visible
layer.opacity = 128
layer.blend_mode_key = BlendMode.MULTIPLY
image.save("output.psd")
Schnellstart
Installieren Sie das Paket, laden Sie dann eine PSD- oder PSB-Datei, untersuchen Sie deren Ebenen und speichern Sie sie wieder ab:
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:$PYTHONPATHfrom aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("input.psd") as image:
print(f"Width: {image.width}, Height: {image.height}, Layers: {image.layer_count}")
for layer in image.layers:
print(f" {layer.name}: {layer.bounds}")
image.save("output.psd")
Unterstützte Formate
| Format | Erweiterung | Lesen | Schreiben |
|---|---|---|---|
| PSD | psd | ✓ | ✓ |
| PSB | psb | ✓ | ✓ |
Open Source & Lizenzierung
Aspose.PSD FOSS für Python ist MIT lizenziert und kann in kommerziellen Produkten ohne Lizenzgebühren verwendet werden, ohne Evaluationswasserzeichen oder Nutzungslimit.
Die Bibliothek hat keinerlei native Drittanbieter-Abhängigkeiten – es wird nur die Python-Standardbibliothek zur Laufzeit benötigt.