איך לשמור ולייצא מסמכי PSD ב-Python

איך לשמור ולייצא מסמכי PSD ב-Python

מדריך זה מציג כיצד לשמור מסמך ערוך לנתיב קובץ, לזרם פתוח, וכיצד לשחרר תמונה שנטענה לאחר מכן. PsdImage.save הוא נקודת הכניסה הציבורית היחידה לכתיבת מסמך בחזרה — הוא מקבל או נתיב קובץ או זרם ניתן לכתיבה שכבר פתוח. כותב החלקים ברמת הנמוכה שמבצע את הקידוד בפועל הוא פרט יישום פנימי, ולא משהו שאתה קורא לו ישירות.

מדריך שלב-אחר-שלב

שלב 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: ייבוא המחלקות הדרושות

PsdImage היא המחלקה היחידה שהדוגמאות במדריך זה זקוקות לה:

from aspose_psd_foss.psdimage import PsdImage

שלב 3: שמור לנתיב קובץ

טען מסמך, ערוך אותו, ואז שמור אותו בחזרה לנתיב קובץ:

image = PsdImage.load("input.psd")
image.layers[0].is_visible = False
image.save("output.psd")

שלב 4: שמור לזרם פתוח

העברת זרם במקום נתיב משאירה את הזרם פתוח לאחר השמירה — אתה שולט מתי לסגור אותו:

with open("output.psd", "wb") as stream:
    image.save(stream)

שלב 5: שחרר את התמונה

שחרר את המשאבים שה-PsdImage הטעון מחזיק כאשר סיימת איתו:

image.dispose()

בעיות נפוצות ותיקונים

RuntimeError: PsdImage has been disposed. בזמן קריאה save. התמונה כבר נטללה (דרך dispose() או with בלוק שיצא) לפני save נקראה. קרא save לפני השחרור.

PsdSaveException לגבי אורך מחרוזת פסקל. ערך מחרוזת חורג מ-255 בתים — ראה טיפול בחריגות ליבת PSD and Troubleshooting.

אין דרך לאלץ מכולת PSD או PSB בעת השמירה. אין API ציבורי לבחירת פורמט מכולת הפלט — שמירה תמיד משקפת את הפורמט שבו הטעינה בוצעה (is_large_document / is_psb) שהמסמך נטען. אם אתה צריך פורמט מכולת שונה, אין נתיב המרה נתמך בבנייה זו של קוד פתוח.

שאלות נפוצות

האם שמירה לזרם סוגרת את הזרם לאחר מכן?

לא — כאשר אתה מעביר זרם ל-save, הזרם נשאר פתוח לאחר מכן כך שאתה שולט במחזור החיים שלו (ראה שלב 4). שמירה לנתיב קובץ, לעומת זאת, פותחת וסוגרת את הקובץ פנימית.

האם ניתן לקרוא ישירות לכותב הסעיף הפנימי במקום save?

לא — כותב ברמת הסעיף הוא פרטי יישום פנימי שמופעל על ידי PsdImage.save. אין דרך מתועדת ותומכת לכתוב מסמך מבלי לקרוא ל-save על מופע של PsdImage.

ראה גם

 עברית