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

Aspose.PSD FOSS pentru Python

Bibliotecă open-source Python pentru încărcarea, inspectarea și salvarea fișierelor PSD/PSB cu acces la metadatele straturilor. Licențiată MIT, nu este necesar Adobe Photoshop.

Bibliotecă Python open-source pentru fișiere PSD/PSB

Aspose.PSD FOSS for Python este o bibliotecă gratuită, licențiată sub MIT, pură Python pentru încărcare, inspectare, și salvarea fișierelor Adobe Photoshop PSD și PSB fără a necesita Adobe Photoshop sau orice runtime proprietar. Expune o API ușoară, autonomă, centrată pe PsdImage și Layer, oferind dezvoltatorilor Python acces programatic la structura unui document PSD fără dependențe native de compilare. Biblioteca citește dimensiunile, modul de culoare, adâncimea de biți și compresia metodă, și expune fiecare strat prin PsdImage.layers: fiecare Layer raportează numele său, limitele, opacitatea, vizibilitatea și cheia modului de amestecare (BlendMode), împreună cu nivelul inferior informații de canal (ChannelInformation) și datele măștii (LayerMaskData). Un subset de metadatele stratului — nume, limite (left/top/right/bottom), și modul de amestecare — pot fi modificate la față locului și persistate înapoi pe disc cu PsdImage.save(); tot cealaltă pe suprafață este doar în citire prin design în această construcție FOSS. Aspose.PSD FOSS for Python este licențiată sub MIT. Instalați-l cu pip install aspose-psd-foss — biblioteca nu are dependențe native de terță parte dependențe, doar biblioteca standard Python. Pentru familia de produse enterprise, vedeți Aspose.PSD — Enterprise Product Family.

Încarcă și Inspectează Fișiere PSD/PSB

  • Image.load(file_path) deschide un fișier și returnează o instanță PsdImage
  • PsdImage.width, height și channels_count raportează dimensiunile canvasului și numărul de canale
  • Detaliile antetului documentului sunt citite din modul de culoare și metadata de compresie a fișierului analizat
  • PsdImage.layers returnează lista completă de obiecte Layer în ordinea documentului

Validați și catalogizați fișierele de design

  • Validați un lot de fișiere de design înainte de a le preda unui proces în aval
  • Construiți un catalog ușor al activelor cu dimensiunile și numărul de straturi PSD/PSB
  • Detectați fișierele PSB (documente mari) care necesită o manipulare diferită față de PSD standard

Lucrează cu straturi

  • PsdImage.layers returnă fiecare Layer în ordine de document; fiecare Layer expune name, bounds, opacity, is_visible și blend_mode_key
  • Layer.channel_information expune metadatele canalului pentru o inspecție mai detaliată
  • Layer.channels_count raportează câte canale de imagine conține un strat
  • PsdImage.layers în sine poate fi reasignat pentru a elimina sau reordona straturile

Structura Stratului de Audit

  • Auditați structura de straturi a unui PSD fără a deschide Photoshop
  • Generați un raport cu numele straturilor, vizibilitatea și modurile de amestec pentru o revizuire de design
  • Identificați straturi ascunse sau cu opacitate zero rămase din editări anterioare

Editați metadatele de bază ale stratului

  • Layer.name, Layer.left/top/right/bottom, și Layer.blend_mode_key pot fi setate direct
  • PsdImage.save(file_path) păstrează documentul modificat înapoi pe disc
  • Reîncărcarea unui fișier salvat cu PsdImage.load confirmă că modificările trec corect prin procesul round-trip
  • Proprietățile care nu sunt listate mai sus (informații despre canale, date de mască, intervale de amestecare) generează NotSupportedException dacă sunt setate — această versiune suportă editări doar de metadate, nu reautorarea completă

Editări ușoare, scriptabile

  • Redenumiți straturile programatic ca parte a unui pipeline de organizare automată a fișierelor
  • Repozitionaţi sau redimensionaţi caseta de delimitare a unui strat fără un instrument de design
  • Actualizaţi în lot modurile de amestecare în numeroase fișiere pentru consistență

Inspectați datele canalului și ale resurselor

  • Layer.channel_information expune colecții de metadate pe canal
  • Layer.has_mask_data și has_blending_ranges_data raportează dacă secțiunile opționale sunt prezente
  • PsdLoadException și PsdSaveException afișează erori de încărcare/salvare cu mesaje clare
  • Toate clasele sunt pure Python fără module de extensie compilate

Diagnosticează și inspectează

  • Diagnosticați de ce un anumit fișier PSD nu se încarcă, cu o excepție tipizată în loc de o eroare generică
  • Verificați dacă un strat conține date de mască sau de interval de amestecare înainte de a-l procesa
  • Inspectați metadatele pe canal pentru diagnosticare la nivel de format

Încărcați un fișier PSD și inspectați straturile sale

Încărcați un fișier cu Image.load pentru a obține o instanță PsdImage pentru membrii specifici PSD.

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

Editează limitele stratului și modul de amestecare, apoi Salvează

Limitele stratului și modul de amestecare pot fi modificate în loc și salvate înapoi pe disc.

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

Citire informații canal (doar citire)

Informațiile despre canal pot fi citite, dar nu pot fi reasignate — încercarea de a le seta generează 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

Întrebări Frecvente

Care este modelul de licențiere?

Aspose.PSD FOSS for Python este licențiat sub MIT. Poți să îl folosești, să îl modifici și să îl redistribui în conformitate cu termenii licenței MIT, inclusiv în produse comerciale.

Cum pot instala Aspose.PSD FOSS for Python?

Consultați secțiunea de instalare de mai sus pentru comanda curentă de instalare.

Ce formate poate Aspose.PSD FOSS for Python să citească și să scrie?

Încarcă și salvează fișiere PSD și PSB (documente mari Photoshop). Nu redă sau exportă datele pixel către alte formate raster, cum ar fi PNG sau JPEG.

Care este clasa principală de punct de intrare?

PsdImage (o subclasă a Image). Încarcă un document cu PsdImage.load, apoi citește colecția layers și proprietățile antetului.

Pot modifica metadatele stratului?

Da — Layer expune un setter funcțional pentru mai multe proprietăţi, cum ar fi vizibilitatea şi numele, şi PsdImage.layers în sine are un setter funcțional pentru înlocuirea colecţiei. Câteva proprietăţi specifice (informaţii de canal, date de mască, game de amestecare şi unele resurse la nivel de document) sunt doar pentru citire în această construcţie FOSS şi ridică NotSupportedException dacă sunt setate.

  

Resurse de Suport și Învățare

 Română