कैसे लोड करें PSD दस्तावेज़ को Python में

कैसे लोड करें PSD दस्तावेज़ को Python में

PsdImage.load PSD/PSB दस्तावेज़ खोलने के लिए एकमात्र सार्वजनिक प्रवेश बिंदु है — यह या तो फ़ाइल पथ या पहले से खुला पढ़ने योग्य स्ट्रीम स्वीकार करता है। अंतर्निहित सेक्शन-बाय-सेक्शन रीडर, जिस पर यह आंतरिक रूप से निर्भर करता है, सीधे कॉल नहीं किया जाना चाहिए।

चरण-दर-चरण गाइड

चरण 1: पैकेज स्थापित करें

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

चरण 2: आवश्यक वर्ग आयात करें

from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.coreexceptions.psdloadexception import PsdLoadException

चरण 3: फ़ाइल पथ से लोड करें

image = PsdImage.load("input.psd")
print(f"Loaded: {image.width}x{image.height}")
image.dispose()

चरण 4: स्ट्रीम से लोड करें

एक स्ट्रीम को सर्च योग्य होने की आवश्यकता नहीं है — load पार्स करने से पहले अपनी पूरी सामग्री को आंतरिक बफ़र में पढ़ता है:

with open("input.psd", "rb") as stream:
    image = PsdImage.load(stream)

print(f"Loaded from stream: {image.width}x{image.height}")
image.dispose()

सामान्य समस्याएँ और समाधान

FileNotFoundError: File not found: .... जिस पथ को पास किया गया load एक मौजूदा फ़ाइल की ओर संकेत नहीं करता — load checks os.path.isfile इसे खोलने से पहले।

PsdLoadException: Unexpected end of PSD/PSB data while reading the file structure. स्रोत स्ट्रीम मध्य-पार्स के दौरान डेटा समाप्त हो गया (एक EOFError पढ़ते समय) — फ़ाइल संभवतः काटी गई है।

PsdLoadException: Failed to read PSD/PSB data from the source stream. स्ट्रीम से स्वयं पढ़ते समय एक I/O त्रुटि हुई, जिसे लपेटकर फिर से एक के रूप में उठाया गया PsdLoadException.

ArgumentNullException कॉल करने पर load. load को … के साथ बुलाया गया None स्ट्रीम तर्क के रूप में।

अक्सर पूछे जाने वाले प्रश्न

क्या मुझे load को कॉल करने से पहले स्ट्रीम को उसकी शुरुआत में ले जाना आवश्यक है?

नहीं — यदि स्ट्रीम सीक करने योग्य है, तो load पढ़ने के बाद उसकी मूल स्थिति को पुनर्स्थापित करता है; यदि यह सीक करने योग्य नहीं है, तो भी load काम करता है क्योंकि यह पार्सिंग से पहले स्ट्रीम की सामग्री को आंतरिक रूप से बफ़र करता है।

उपरोक्त दो FileNotFoundError/PsdLoadException विफलताओं में क्या अंतर है?

एक गायब फ़ाइल पथ मानक त्रुटि उत्पन्न करता है FileNotFoundError कोई भी पार्सिंग शुरू होने से पहले। एक PsdLoadException इसके बजाय इसका अर्थ है कि फ़ाइल (या स्ट्रीम) मिली और खोली गई, लेकिन PSD/PSB डेटा स्वयं पार्सिंग शुरू होने पर ही ट्रंकेटेड, करप्टेड, या अन्यथा अपठनीय हो जाता है — देखिए भी Troubleshooting संस्करण-और सीमा-संबंधी के लिए PsdLoadException वेरिएंट्स।

यह भी देखें

 हिन्दी