כתוב תיאורים
כתיבת מתארים
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). אין נתיב המרה נתמך בין PSD ל-PSB בבנייה זו של קוד פתוח.
טיפים ושיטות עבודה מומלצות
- קרא
saveלפני שחרור התמונה —saveעלPsdImageשכבר שוחרר גורם ל-RuntimeError. - הכותב הפנימי ברמת סעיף שמופעל על ידי
saveאינו נקודת כניסה מתועדת או נתמכת בעצמו; תמיד השתמש ב-PsdImage.save.
בעיות נפוצות
| בעיה | סיבה | תיקון |
|---|---|---|
RuntimeError: PsdImage has been disposed. | save נקרא אחרי dispose() (או אחרי שבלוק with הסתיים) | קרא ל-save לפני פינוי התמונה |
PsdSaveException על אורך מחרוזת פסקל | ערך מחרוזת חורג מ-255 בתים | ראה חריגות ליבה |
FAQ
האם שמירה ל-stream סוגרת את ה-stream לאחר מכן?
לא — העברת stream ל-save משאירה אותו פתוח לאחר מכן, כך שאתה שולט במחזור החיים שלו. לעומת זאת, שמירה לנתיב קובץ פותחת וסוגרת את הקובץ פנימית.
האם אפשר ליצור קובץ PSB ממסמך שנטען כ-PSD?
לא — אין API ציבורי שמאפשר לעקוף את פורמט המכולה בזמן שמירה; הוא תמיד משקף את הפורמט של המסמך שהוטען.
API Reference סיכום
| מחלקה/מתודה | תיאור |
|---|---|
PsdImage.save(file_path) / PsdImage.save(stream) | שומר את המסמך |