डिस्क्रिप्टर लिखें
डिस्क्रिप्टर लिखें
PsdImage.save दस्तावेज़ को वापस लिखने के लिए एकल सार्वजनिक प्रवेश बिंदु है — यह या तो फ़ाइल पथ या पहले से खुले लिखने योग्य स्ट्रीम को स्वीकार करता है। वास्तविक बाइट एन्कोडिंग करने वाला लो-लेवल सेक्शन राइटर एक आंतरिक कार्यान्वयन विवरण है, जिसे आप सीधे कॉल नहीं करते।
फ़ाइल पथ या स्ट्रीम में सहेजना
from aspose_psd_foss.psdimage import PsdImage
image = PsdImage.load(input_path)
image.save("output.psd")पथ की बजाय स्ट्रीम पास करने से स्ट्रीम बाद में खुला रहता है — आप इसे कब बंद करें, यह आप नियंत्रित करते हैं:
with open("output.psd", "wb") as stream:
image.save(stream)कंटेनर फ़ॉर्मेट चुनना
सेव पर आउटपुट कंटेनर फ़ॉर्मेट चुनने के लिए कोई सार्वजनिक API नहीं है — एक सेव हमेशा उस फ़ॉर्मेट को प्रतिबिंबित करता है (is_large_document / is_psb) जिससे दस्तावेज़ लोड किया गया था। इस FOSS बिल्ड में PSD और PSB के बीच कोई समर्थित रूपांतरण पथ नहीं है।
टिप्स और सर्वोत्तम प्रथाएँ
- इमेज को डिस्पोज़ करने से पहले
saveको कॉल करें — डिस्पोज़्डPsdImageपरsaveकरने सेRuntimeErrorउत्पन्न होता है। saveद्वारा बुलाए गए आंतरिक सेक्शन-लेवल राइटर को स्वयं में कोई प्रलेखित या समर्थित एंट्री पॉइंट नहीं माना जाता; हमेशाPsdImage.saveके माध्यम से जाएँ।
सामान्य समस्याएँ
| समस्या | कारण | समाधान |
|---|---|---|
RuntimeError: PsdImage has been disposed. | save को dispose() के बाद बुलाया गया (या एक with ब्लॉक के समाप्त होने के बाद) | save को इमेज को डिस्पोज़ करने से पहले कॉल करें |
PsdSaveException Pascal स्ट्रिंग लंबाई के बारे में | एक स्ट्रिंग मान 255 बाइट्स से अधिक है | देखें कोर अपवाद |
FAQ
क्या स्ट्रीम में सहेजने के बाद स्ट्रीम बंद हो जाता है?
नहीं — save को एक स्ट्रीम पास करने से वह बाद में खुला रहता है, इसलिए आप इसके जीवन-चक्र को नियंत्रित कर सकते हैं। इसके विपरीत, फ़ाइल पथ में सहेजने से फ़ाइल को आंतरिक रूप से खोला और बंद किया जाता है।
क्या मैं PSD के रूप में लोड किए गए दस्तावेज़ से PSB फ़ाइल बना सकता हूँ?
नहीं — सहेजते समय कंटेनर फ़ॉर्मेट को ओवरराइड करने के लिए कोई सार्वजनिक API नहीं है; यह हमेशा लोड किए गए दस्तावेज़ के स्वयं के फ़ॉर्मेट को प्रतिबिंबित करता है।
API Reference सारांश
| क्लास/मेथड | विवरण |
|---|---|
PsdImage.save(file_path) / PsdImage.save(stream) | दस्तावेज़ को सहेजता है |