Aspose.PSD FOSS for Python is een gratis, MIT-gelicentieerde, pure Python bibliotheek voor het laden, inspecteren,
en opslaan van Adobe Photoshop PSD- en PSB-bestanden zonder dat Adobe Photoshop of een
propriëtaire runtime vereist is.
Het biedt een lichtgewicht, zelfstandige API gecentreerd rond PsdImage en
Layer, waardoor Python ontwikkelaars programmatische toegang krijgen tot de structuur van een PSD-document zonder
native dependencies om te compileren.
De bibliotheek leest de afmetingen, kleurmodus, bitsnelheid en compressiemethode
van een PSD/PSB-bestand, en maakt elke laag toegankelijk via PsdImage.layers: elke Layer geeft zijn naam,
grenzen, dekking, zichtbaarheid en blend-modus sleutel (BlendMode) weer, samen met lagere
kanaalinformatie (ChannelInformation) en maskergegevens (LayerMaskData).
Een subset van
laagmetadata — naam, grenzen (left/top/right/bottom), en blend-modus — kan
ter plekke worden aangepast en terug naar schijf worden geschreven met PsdImage.save(); alles anders aan de
oppervlakte is bij ontwerp alleen-lezen in deze FOSS-build.
Aspose.PSD FOSS for Python is MIT-gelicentieerd. Installeer het met
pip install aspose-psd-foss — de bibliotheek heeft geen third-party native
dependencies, alleen de Python standaardbibliotheek.
Voor de enterprise productfamilie, zie Aspose.PSD — Enterprise Product Family.
Image.load(file_path) opent een bestand en retourneert een PsdImage-instantiePsdImage.width, height en channels_count geven de afmetingen van het canvas en het aantal kanalen weerPsdImage.layers retourneert de volledige lijst van Layer-objecten in documentvolgordePsdImage.layers retourneert elke Layer in documentvolgorde; elke Layer biedt name, bounds, opacity, is_visible en blend_mode_keyLayer.channel_information biedt kanaalmetadata voor diepere inspectieLayer.channels_count geeft aan hoeveel beeldkanalen een laag bevatPsdImage.layers zelf kan opnieuw worden toegewezen om lagen te verwijderen of te herschikkenLayer.name, Layer.left/top/right/bottom, en Layer.blend_mode_key kunnen rechtstreeks worden ingesteldPsdImage.save(file_path) slaat het gewijzigde document terug op schijf opPsdImage.load bevestigt dat de bewerkingen correct round-trip verlopenNotSupportedException wanneer ze worden ingesteld — deze build ondersteunt alleen bewerkingen op metadata, niet volledige herauthoringLayer.channel_information exposeert per-kanaal metadata-collectiesLayer.has_mask_data en has_blending_ranges_data geven aan of optionele secties aanwezig zijnPsdLoadException en PsdSaveException geven laad-/opslaffouten weer met duidelijke berichtenLaad een bestand met Image.load om een PsdImage-instantie te krijgen voor PSD-specifieke leden.
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)}")
Laaggrenzen en mengmodus kunnen ter plaatse worden gewijzigd en terug naar schijf worden opgeslagen.
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}")
Kanaalinformatie kan worden gelezen maar niet opnieuw toegewezen — een poging om het in te stellen veroorzaakt NotSupportedException.
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
Aspose.PSD FOSS for Python is gelicentieerd onder de MIT-licentie. Je kunt het gebruiken, aanpassen en herdistribueren onder de voorwaarden van de MIT-licentie, ook in commerciële producten.
Zie de installatiesectie hierboven voor het huidige installcommando.
Het laadt en slaat PSD- en PSB-bestanden (Photoshop large document) op. Het rendert of exporteert geen pixelgegevens naar andere rasterformaten zoals PNG of JPEG.
PsdImage (een subklasse van Image). Laad een document met PsdImage.load, lees vervolgens de layers-collectie en header-eigenschappen.
Ja — Layer exposeert een werkende setter voor verschillende eigenschappen, zoals zichtbaarheid en naam, en PsdImage.layers zelf heeft een werkende setter voor het vervangen van de collectie. Een paar specifieke eigenschappen (kanaalinformatie, maskergegevens, mengbereiken, en sommige document-niveau resources) zijn alleen-lezen in deze FOSS-build en veroorzaken een NotSupportedException als ze worden ingesteld.