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

Aspose.PSD FOSS för Python

Öppen källkod Python bibliotek för att läsa in, inspektera och spara PSD/PSB-filer med lagermetadataåtkomst. MIT-licensierad, ingen Adobe Photoshop krävs.

Open-Source Python-bibliotek för PSD/PSB-filer

Aspose.PSD FOSS for Python är ett gratis, MIT-licensierat, rent Python bibliotek för att ladda, inspektera, och spara Adobe Photoshop PSD- och PSB-filer utan att kräva Adobe Photoshop eller någon proprietär runtime. Den exponerar ett lättviktigt, fristående API centrerat på PsdImage och Layer, vilket ger Python utvecklare programmatisk åtkomst till en PSD-dokuments struktur utan inhemska beroenden att kompilera. Biblioteket läser en PSD/PSB-fils dimensioner, färgläge, bitdjup och komprimerings metod, och exponerar varje lager via PsdImage.layers: varje Layer rapporterar sitt namn, gränser, opacitet, synlighet och blandningslägesnyckel (BlendMode), tillsammans med lägre nivå kanalinformation (ChannelInformation) och maskdata (LayerMaskData). En delmängd av lagermetadata — namn, gränser (left/top/right/bottom), och blandningsläge — kan modifieras på plats och sparas tillbaka till disk med PsdImage.save(); allt annat på ytan är skrivskyddad av design i denna FOSS-byggnad. Aspose.PSD FOSS for Python är MIT-licensierad. Installera det med pip install aspose-psd-foss — biblioteket har noll tredjeparts inhemska beroenden, endast Python standardbiblioteket. För företagsproduktfamiljen, se Aspose.PSD — Enterprise Product Family.

Läs in och inspektera PSD/PSB-filer

  • Image.load(file_path) öppnar en fil och returnerar en PsdImage-instans
  • PsdImage.width, height och channels_count rapporterar dukens dimensioner och kanalantal
  • Dokumenthuvuddetaljer läses från den analyserade filens färgläge och komprimeringsmetadata
  • PsdImage.layers returnerar hela listan med Layer-objekt i dokumentordning

Validera och Katalogisera Designfiler

  • Validera en batch av designfiler innan de överlämnas till en nedströmsprocess
  • Bygg en lättviktig tillgångskatalog med PSD/PSB-dimensioner och lagerantal
  • Upptäck PSB (stordokument)-filer som kräver annan hantering än standard-PSD

Arbeta med lager

  • PsdImage.layers returnerar varje Layer i dokumentordning; varje Layer exponerar name, bounds, opacity, is_visible och blend_mode_key
  • Layer.channel_information exponerar kanalmetadata för djupare inspektion
  • Layer.channels_count rapporterar hur många bildkanaler ett lager har
  • PsdImage.layers kan själv tilldelas på nytt för att ta bort eller omordna lager

Revisionslagersstruktur

  • Granska en PSD:s lagerstruktur utan att öppna Photoshop
  • Generera en rapport med lagernamn, synlighet och blandningslägen för en designgranskning
  • Identifiera dolda eller lager med noll opacitet som är kvar från tidigare redigeringar

Redigera grundläggande lagermetadata

  • Layer.name, Layer.left/top/right/bottom, och Layer.blend_mode_key kan sättas direkt
  • PsdImage.save(file_path) sparar det modifierade dokumentet tillbaka till disken
  • Att läsa in en sparad fil med PsdImage.load bekräftar att redigeringarna klarar rundresan korrekt
  • Egenskaper som inte listas ovan (kanalinformation, maskdata, blandningsintervall) kastar NotSupportedException om de sätts — den här versionen stöder endast metadata-redigeringar, inte fullständig återförfattning

Lättviktiga, Skriptbara Redigeringar

  • Byt namn på lager programmässigt som en del av en automatiserad filorganiseringspipeline
  • Flytta eller ändra storlek på ett lagers begränsningsruta utan ett designverktyg
  • Batch-uppdatera blandningslägen i många filer för konsistens

Inspektera kanal och resursdata

  • Layer.channel_information exponerar metadata-samlingar per kanal
  • Layer.has_mask_data och has_blending_ranges_data rapporterar om valfria sektioner är närvarande
  • PsdLoadException och PsdSaveException visar laddnings-/sparningsfel med tydliga meddelanden
  • Alla klasser är rena Python utan kompilerade tilläggsmoduler

Diagnostisera och inspektera

  • Diagnostisera varför en viss PSD-fil misslyckas att laddas, med ett typat undantag istället för ett generiskt fel
  • Kontrollera om ett lager bär mask- eller blandningsintervall-data innan det bearbetas
  • Inspektera per-kanal-metadata för formatnivådiagnostik

Ladda en PSD-fil och inspektera dess lager

Läs in en fil med Image.load för att få en PsdImage-instans för PSD-specifika medlemmar.

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

Redigera lagergränser och blandningsläge, spara sedan

Lagergränser och blandningsläge kan ändras på plats och sparas tillbaka till disk.

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

Läs kanalinformation (skrivskyddad)

Kanalinformation kan läsas men inte tilldelas på nytt — att försöka sätta den ger 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

Vanliga Frågor

Vad är licensmodellen?

Aspose.PSD FOSS for Python är licensierad under MIT-licensen. Du kan använda, modifiera och distribuera den enligt villkoren i MIT-licensen, även i kommersiella produkter.

Hur installerar jag Aspose.PSD FOSS for Python?

Se installationsavsnittet ovan för det aktuella installationskommandot.

Vilka format kan Aspose.PSD FOSS for Python läsa och skriva?

Den laddar och sparar PSD- och PSB-filer (Photoshop large document). Den renderar inte eller exporterar pixeldata till andra rasterformat såsom PNG eller JPEG.

Vad är huvudingångsklassen?

PsdImage (en underklass av Image). Ladda ett dokument med PsdImage.load, läs sedan dess layers-samling och huvudegenskaper.

Kan jag ändra lagermetadata?

Ja — Layer exponerar en fungerande setter för flera egenskaper, såsom synlighet och namn, och PsdImage.layers själv har en fungerande setter för att ersätta samlingen. Några specifika egenskaper (kanalinformation, maskdata, blandningsintervall och vissa dokument-nivå-resurser) är skrivskyddade i detta FOSS-build och kastar NotSupportedException om de sätts.

  

Stöd och Lärande Resurser

 Svenska