1. Produkte
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for Python

Aspose.PSD FOSS für Python

Open-Source Python-Bibliothek zum Laden, Untersuchen und Speichern von PSD/PSB-Dateien mit Zugriff auf Ebenen-Metadaten. MIT-lizenziert, kein Adobe Photoshop erforderlich.

Open-Source Python Bibliothek für PSD/PSB-Dateien

Aspose.PSD FOSS for Python ist eine kostenlose, MIT-lizenzierte, reine Python Bibliothek zum Laden, Inspizieren, und Speichern von Adobe Photoshop PSD- und PSB-Dateien, ohne dass Adobe Photoshop oder irgendeine proprietäre Laufzeit erforderlich ist. Sie stellt ein leichtgewichtiges, eigenständiges API bereit, das sich auf PsdImage und Layer konzentriert, und Python Entwicklern programmgesteuerten Zugriff auf die Struktur eines PSD-Dokuments ohne native Abhängigkeiten zum Kompilieren ermöglicht. Die Bibliothek liest die Abmessungen, den Farbmodus, die Bit-Tiefe und die Komprimierungsmethode einer PSD/PSB-Datei, und stellt jede Ebene über PsdImage.layers bereit: jeder Layer gibt seinen Namen, Begrenzungen, Deckkraft, Sichtbarkeit und den BlendMode-Schlüssel (BlendMode) sowie niedrigere Kanalinformationen (ChannelInformation) und Maskendaten (LayerMaskData). Ein Teil der Ebenen-Metadaten — Name, Begrenzungen (left/top/right/bottom) und Blend-Mode — kann vor Ort modifiziert und mit PsdImage.save() wieder auf die Festplatte geschrieben werden; alles andere auf der Oberfläche ist per Design in diesem FOSS-Build schreibgeschützt. Aspose.PSD FOSS for Python ist MIT-lizenziert. Installieren Sie es mit pip install aspose-psd-foss — die Bibliothek hat keinerlei Drittanbieter-Native- Abhängigkeiten, nur die Python Standardbibliothek. Für die Unternehmens-Produktfamilie siehe Aspose.PSD — Enterprise Product Family.

Laden und Untersuchen von PSD/PSB-Dateien

  • Image.load(file_path) öffnet eine Datei und gibt eine PsdImage-Instanz zurück
  • PsdImage.width, height und channels_count geben die Canvas-Abmessungen und die Kanalanzahl aus
  • Dokumentkopfdetails werden aus dem Farbraum und den Komprimierungs-Metadaten der geparsten Datei ausgelesen
  • PsdImage.layers gibt die vollständige Liste der Layer-Objekte in Dokumentenreihenfolge zurück

Validieren und Katalogisieren von Design-Dateien

  • Validieren Sie einen Stapel von Designdateien, bevor Sie sie an einen nachgelagerten Prozess übergeben
  • Erstellen Sie einen leichtgewichtigen Assetkatalog mit PSD/PSB-Abmessungen und Ebenenzahlen
  • Erkennen Sie PSB (großes Dokument)-Dateien, die eine andere Handhabung als Standard-PSD erfordern

Arbeiten mit Ebenen

  • PsdImage.layers gibt jedes Layer in Dokumentreihenfolge zurück; jedes Layer stellt name, bounds, opacity, is_visible und blend_mode_key bereit
  • Layer.channel_information stellt Kanal-Metadaten für tiefere Inspektion bereit
  • Layer.channels_count gibt an, wie viele Bildkanäle ein Layer trägt
  • PsdImage.layers selbst kann neu zugewiesen werden, um Layer zu entfernen oder neu zu ordnen

Audit-Schichtstruktur

  • PSDs Ebenenstruktur prüfen, ohne Photoshop zu öffnen
  • Bericht über Ebenennamen, Sichtbarkeit und Mischmodi für ein Design-Review erstellen
  • Versteckte oder vollständig transparente Ebenen, die von früheren Bearbeitungen übrig geblieben sind, identifizieren

Grundlegende Layer-Metadaten bearbeiten

  • Layer.name, Layer.left/top/right/bottom und Layer.blend_mode_key können direkt gesetzt werden
  • PsdImage.save(file_path) speichert das geänderte Dokument wieder auf die Festplatte
  • Das erneute Laden einer gespeicherten Datei mit PsdImage.load bestätigt, dass die Änderungen korrekt round-trip durchgeführt werden
  • Eigenschaften, die oben nicht aufgeführt sind (Kanalinformationen, Maskendaten, Mischbereiche), lösen NotSupportedException aus, wenn sie gesetzt werden — dieser Build unterstützt nur Metadaten-Änderungen, nicht die vollständige Neuauthorisierung

Leichtgewichtige, skriptfähige Bearbeitungen

  • Ebenen programmgesteuert umbenennen als Teil einer automatisierten Dateiorganisations-Pipeline
  • Die Begrenzungsbox einer Ebene ohne Design-Tool neu positionieren oder skalieren
  • Blend-Modi stapelweise in vielen Dateien aktualisieren, um Konsistenz zu gewährleisten

Kanal- und Ressourcendaten prüfen

  • Layer.channel_information stellt pro-Kanal-Metadaten-Sammlungen bereit
  • Layer.has_mask_data und has_blending_ranges_data geben an, ob optionale Abschnitte vorhanden sind
  • PsdLoadException und PsdSaveException zeigen Lade-/Speicherfehler mit klaren Meldungen an
  • Alle Klassen sind reine Python ohne kompilierte Erweiterungs-Module

Diagnose und Inspektion

  • Diagnostiziere, warum eine bestimmte PSD-Datei nicht geladen werden kann, mit einer typisierten Ausnahme anstelle eines generischen Fehlers
  • Prüfe, ob eine Ebene Masken- oder Mischbereichsdaten enthält, bevor sie verarbeitet wird
  • Untersuche pro-Kanal-Metadaten für formatbezogene Diagnosen

Laden Sie eine PSD-Datei und prüfen Sie deren Ebenen

Laden Sie eine Datei mit Image.load, um eine PsdImage-Instanz für PSD-spezifische Member zu erhalten.

from aspose_psd_foss.image import Image
with Image.load("test.psd") as image:
    print(f"Width: {image.width}, Channels: {image.channels_count}, Layers: {len(image.layers)}")

Ebenengrenzen und Mischmodus bearbeiten, Dann speichern

Ebenenbegrenzungen und Mischmodus können direkt geändert und wieder auf die Festplatte gespeichert werden.

from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode

with PsdImage.load("test.psd") as image:
    image.layers[0].left = 10
    image.layers[0].top = 20
    image.layers[0].right = 40
    image.layers[0].bottom = 60
    image.layers[0].blend_mode_key = BlendMode.MULTIPLY
    image.save("edited.psd")

with PsdImage.load("edited.psd") as reloaded:
    print(f"Bounds: {reloaded.layers[0].bounds}, BlendMode: {reloaded.layers[0].blend_mode_key}")

Kanalinformationen lesen (Nur-Lesen)

Kanalinformationen können gelesen, aber nicht neu zugewiesen werden — ein Versuch, sie zu setzen, löst NotSupportedException aus.

from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("test.psd") as image:
    layer = image.layers[0]
    channel_information = layer.channel_information
    print(f"Channel count: {layer.channels_count}, first channel: `NotSupportedException`")
    # layer.channel_information = channel_information  # raises NotSupportedException

Häufig gestellte Fragen

Wie lautet das Lizenzmodell?

Aspose.PSD FOSS for Python ist MIT-lizenziert. Sie können es verwenden, modifizieren und unter den Bedingungen der MIT-Lizenz weiterverbreiten, auch in kommerziellen Produkten.

Wie installiere ich Aspose.PSD FOSS for Python?

Siehe den Installationsabschnitt oben für den aktuellen Installationsbefehl.

Welche Formate kann Aspose.PSD FOSS for Python lesen und schreiben?

Es lädt und speichert PSD- und PSB-Dateien (Photoshop large document). Es rendert oder exportiert keine Pixeldaten in andere Rasterformate wie PNG oder JPEG.

Was ist die Haupt-Einstiegsklasse?

PsdImage (eine Unterklasse von Image). Laden Sie ein Dokument mit PsdImage.load, dann lesen Sie seine layers-Sammlung und Header-Eigenschaften.

Kann ich Layer-Metadaten ändern?

Ja — Layer stellt einen funktionierenden Setter für mehrere Eigenschaften bereit, wie Sichtbarkeit und Name, und PsdImage.layers selbst hat einen funktionierenden Setter zum Ersetzen der Sammlung. Einige spezifische Eigenschaften (Kanalinformationen, Maskendaten, Mischbereiche und einige dokumentenbezogene Ressourcen) sind in diesem FOSS-Build schreibgeschützt und lösen NotSupportedException aus, wenn sie gesetzt werden.

  

Support und Lernressourcen

 Deutsch