परिचय
Aspose.PSD FOSS for Python एक नई ओपन-सोर्स लाइब्रेरी है जो Python कोड से PSD और PSB (Photoshop large document) फ़ाइलों के साथ काम करने के लिए है। यह MIT लाइसेंस के तहत जारी की गई है, इसमें कोई थर्ड-पार्टी नेटिव डिपेंडेंसी नहीं है, और रनटाइम पर केवल Python स्टैंडर्ड लाइब्रेरी की आवश्यकता होती है। इस पैकेज को aspose_psd_foss के रूप में इम्पोर्ट किया जाता है।
लाइब्रेरी PsdImage क्लास के आसपास व्यवस्थित है, जो एब्स्ट्रैक्ट Image बेस क्लास को विस्तारित करती है, और Layer क्लास। Image.load() / PsdImage.load() फ़ाइल पथ या स्ट्रीम से दस्तावेज़ लोड करते हैं, हेडर जानकारी (width, height, color_mode, version, compression) और पार्स्ड layers संग्रह को उजागर करते हैं; PsdImage.save() दस्तावेज़ को फ़ाइल या स्ट्रीम में वापस लिखता है। दोनों क्लासें स्वचालित सफाई के लिए with स्टेटमेंट का समर्थन करती हैं। प्रत्येक Layer अपनी मेटाडेटा — name, bounds, is_visible, opacity, clipping, blend_mode_key, और चैनल/मास्क जानकारी — को प्रकट करता है, और इन गुणों में से एक उपसमुच्चय को स्थान पर बदलकर फ़ाइल में सहेजा जा सकता है।
यह रिलीज़ उन डेवलपर्स के लिए है जिन्हें व्यावसायिक लाइसेंस के बिना Python कोडबेस में PSD/PSB फ़ाइलों की जाँच या सीमित मेटाडेटा संपादन करने की आवश्यकता होती है — एसेट-पाइपलाइन टूलिंग जो लेयर संरचना की रिपोर्ट करती है, बिल्ड स्क्रिप्ट्स जो हैंडऑफ़ से पहले लेयर का नाम बदलती या उसकी दृश्यता टॉगल करती हैं, या टेस्ट फ़िक्स्चर जो पूर्ण रेंडरिंग इंजन के बिना PSD हेडर और लेयर डेटा पढ़ने की आवश्यकता रखते हैं। लाइब्रेरी पिक्सेल डेटा को रेंडर नहीं करती या PSD/PSB को अन्य इमेज फ़ॉर्मैट में परिवर्तित नहीं करती — यह PSD/PSB कंटेनर फ़ॉर्मेट के लिए मेटाडेटा-केंद्रित रीडर/राइटर है।
क्या शामिल है
दस्तावेज़ निरीक्षण
PsdImage.load() एक PSD या PSB फ़ाइल के हेडर को टाइप्ड प्रॉपर्टीज़ में पार्स करता है — width, height, bits_per_channel, color_mode, version, compression, size, और is_flatten — बिना पिक्सेल डेटा को डिकोड किए।
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}")
लेयर मेटाडेटा
PsdImage.layers में प्रत्येक प्रविष्टि एक Layer है जो अपनी सीमाएँ, दृश्यता, अपारदर्शिता, क्लिपिंग, और ब्लेंड-मोड मेटाडेटा को उजागर करती है।
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}")
समर्थित मेटाडेटा संपादन
लेयर गुणों का एक उपसमुच्चय स्थान पर ही बदलकर PsdImage.save() के साथ वापस लिखा जा सकता है: नाम, दृश्यता, अपारदर्शिता, क्लिपिंग, ब्लेंड मोड कुंजी, और चार सीमा किनारे।
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")
त्वरित प्रारंभ
पैकेज स्थापित करें, फिर एक PSD या PSB फ़ाइल लोड करें, उसकी लेयर्स की जाँच करें, और उसे वापस सहेजें:
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:$PYTHONPATHfrom 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")
समर्थित फ़ॉर्मेट
| फ़ॉर्मेट | एक्सटेंशन | पढ़ें | लिखें |
|---|---|---|---|
| PSD | psd | ✓ | ✓ |
| PSB | psb | ✓ | ✓ |
ओपन सोर्स और लाइसेंसिंग
Aspose.PSD FOSS for Python MIT लाइसेंस के तहत है और इसे व्यावसायिक उत्पादों में बिना रॉयल्टी के उपयोग किया जा सकता है, बिना किसी मूल्यांकन वाटरमार्क या उपयोग सीमा के।
लाइब्रेरी में कोई थर्ड-पार्टी नेटिव निर्भरताएँ नहीं हैं — केवल Python स्टैंडर्ड लाइब्रेरी रनटाइम पर आवश्यक है।