Introduktion

Aspose.PSD FOSS för Python är ett nytt open-source-bibliotek för att arbeta med PSD- och PSB-filer (Photoshop large document) från Python-kod. Det är släppt under MIT-licensen, har noll tredjeparts-native-beroenden och kräver endast Python s standardbibliotek vid körning. Paketet importeras som aspose_psd_foss.

Biblioteket är organiserat kring klassen PsdImage, som ärver den abstrakta basklassen Image, samt klassen Layer. Image.load() / PsdImage.load() laddar ett dokument från en filsökväg eller en ström, och exponerar headerinformation (width, height, color_mode, version, compression) samt den parsade layers-samlingen; PsdImage.save() skriver dokumentet tillbaka till en fil eller ström. Båda klasserna stödjer with-uttalandet för automatisk städning. Varje Layer exponerar sin egen metadata — name, bounds, is_visible, opacity, clipping, blend_mode_key och kanal/maskinformation — och en delmängd av dessa egenskaper kan ändras på plats och sparas tillbaka till filen.

Denna version är avsedd för utvecklare som behöver inspektera eller göra begränsade metadataändringar i PSD/PSB-filer inom en Python-kodbas utan kommersiell licens — verktyg i asset-pipeline som rapporterar lagerstruktur, byggskript som byter namn på eller slår av/på lagersynlighet före överlämning, eller testfixture som måste läsa PSD-header och lagerdatat utan en fullständig renderingsmotor. Biblioteket renderar inte pixeldata eller konverterar PSD/PSB till andra bildformat — det är en metadata-fokuserad läsare/skrivare för PSD/PSB-containerformatet.


Vad som ingår

Dokumentinspektion

PsdImage.load() parsar en PSD- eller PSB-filens header till typade egenskaper — width, height, bits_per_channel, color_mode, version, compression, size och is_flatten — utan att avkoda pixeldata.

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}")

Lagermetadata

Varje post i PsdImage.layers är en Layer som exponerar sina egna gränser, synlighet, opacitet, klippning och blandningslägesmetadata.

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}")

Stödda metadataredigeringar

En delmängd av lageregenskaper kan ändras på plats och skrivas tillbaka med PsdImage.save(): namn, synlighet, opacitet, klippning, nyckel för blandningsläge och de fyra gränskanter.

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")

Snabbstart

Installera paketet, ladda sedan en PSD- eller PSB-fil, inspektera dess lager och spara det igen:

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
from 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")

Stödda format

FormatFiländelseLäsaSkriva
PSDpsd✓✓
PSBpsb✓✓

Öppen källkod & licensiering

Aspose.PSD FOSS för Python är licensierad under MIT och får användas i kommersiella produkter utan royalties, utan utvärderingsvattenstämpel eller användningsgräns.

Biblioteket har noll tredjeparts-nativeberoenden — endast Python s standardbibliotek krävs vid körning.


Komma igång

Relaterade resurser