1. מוצרים
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for Python

Aspose.PSD FOSS עבור Python

ספרייה Python בקוד פתוח לטעינה, בחינה ושמירת קבצי PSD/PSB עם גישה למטא-נתוני שכבות. ברישיון MIT, ללא צורך ב-Adobe Photoshop.

ספרייה קוד פתוח של Python לקבצי PSD/PSB

Aspose.PSD FOSS for Python היא ספרייה חינמית, ברישיון MIT, טהורה של Python לטעינה, בחינה, ולשמירת קבצי Adobe Photoshop PSD ו-PSB ללא צורך ב-Adobe Photoshop או כל סביבת ריצה קניינית. היא מציגה API קלה ועצמאית המתמקדת ב-PsdImage ו- Layer, ומספקת למפתחים ב-Python גישה פרוגרמטית למבנה של מסמך PSD ללא תלויות מקומיות לצורך הידור. הספרייה קוראת את המימדים, מצב הצבע, עומק הביטים, ו- שיטת הדחיסה של קובץ PSD/PSB, ומחשיפה כל שכבה דרך PsdImage.layers: כל Layer מדווחת על שמו, גבולותיה, השקיפות, הנראות, ומפתח מצב הערבוב (BlendMode), יחד עם רמת- הפחתה של מידע ערוץ (ChannelInformation) ונתוני מסכה (LayerMaskData). תת-קבוצה של מטא-נתוני שכבה — שם, גבולות (left/top/right/bottom), ומצב הערבוב — יכולה להשתנות במקום ולשמר חזרה לדיסק עם PsdImage.save(); כל השאר על ה- משטח הוא קר-קריאה בלבד לפי תכנון בבנייה זו של קוד פתוח. Aspose.PSD FOSS for Python ברישיון MIT. התקינו אותה עם pip install aspose-psd-foss — הספרייה אינה בעלת תלות מקומית של צד שלישי, רק ספריית ה-Python הסטנדרטית. למידע על משפחת המוצרים הארגונית, ראו Aspose.PSD — Enterprise Product Family.

טעינה ובדיקה של קבצי PSD/PSB Files

  • Image.load(file_path) פותח קובץ ומחזיר מופע של PsdImage
  • PsdImage.width, height ו-channels_count מדווחים על ממדי הקנבס ומספר הערוצים
  • פרטי כותרת המסמך נלקחים ממצב הצבע של הקובץ המפוענח וממטא-נתוני הדחיסה
  • PsdImage.layers מחזיר את הרשימה המלאה של אובייקטי Layer לפי סדר המסמך

אמת וקטלוג קבצי עיצוב

  • אמת אצווה של קבצי עיצוב לפני העברתם לתהליך הבא
  • בנה קטלוג נכסים קל משקל של ממדי PSD/PSB וספירת השכבות
  • זהה קבצי PSB (מסמך-גדול) שדורשים טיפול שונה מאשר PSD רגיל

עבודה עם שכבות

  • PsdImage.layers מחזיר כל Layer בסדר המסמך; כל Layer חושף name, bounds, opacity, is_visible, ו-blend_mode_key
  • Layer.channel_information חושף מטא-נתוני ערוץ לבחינה מעמיקה יותר
  • Layer.channels_count מדווח כמה ערוצי תמונה שכבה נושאת
  • PsdImage.layers עצמו ניתן לשינוי כדי להסיר או לסדר מחדש שכבות

מבנה שכבת ביקורת

  • לבדוק את מבנה השכבות של קובץ PSD ללא פתיחת Photoshop
  • לייצר דוח של שמות השכבות, נראות, ומצבי מיזוג עבור סקירת עיצוב
  • לזהות שכבות מוסתרות או בעלות שקיפות אפס שנשארו מעריכות קודמות

ערוך מטא-נתונים בסיסיים של השכבה

  • Layer.name, Layer.left/top/right/bottom, ו-Layer.blend_mode_key ניתן להגדיר ישירות
  • PsdImage.save(file_path) שומר את המסמך שהשתנה חזרה לדיסק
  • טעינת קובץ שנשמר עם PsdImage.load מאשרת שהעריכות עוברות הלוך ושוב כראוי
  • מאפיינים שלא מופיעים למעלה (מידע ערוץ, נתוני מסכה, טווחי מיזוג) גורמים להשלכת NotSupportedException אם מנסים להגדירם — גרסה זו תומכת בעריכות של מטא-דטה בלבד, ולא ביצירת מחברת מלאה

עריכות קלות, ניתנות לתכנות

  • לשנות שם של שכבות באופן תכנותי כחלק מצינור ארגון קבצים אוטומטי
  • למקם מחדש או לשנות גודל של תיבת הגבול של שכבה ללא כלי עיצוב
  • לעדכן במרוכז מצבי מיזוג במספר קבצים רבים לצורך עקביות

בדוק ערוץ ונתוני משאבים

  • Layer.channel_information מציג אוספי מטא-נתונים לכל ערוץ
  • Layer.has_mask_data ו-has_blending_ranges_data מדווחים האם קיימים חלקים אופציונליים
  • PsdLoadException ו-PsdSaveException מציגים שגיאות טעינה/שמירה עם הודעות ברורות
  • כל המחלקות הן pure Python ללא מודולי הרחבה מקומפילים

אבחון ובדיקה

  • לאבחן מדוע קובץ PSD מסוים נכשל בטעינה, עם typed exception במקום שגיאה כללית
  • לבדוק האם שכבה נושאת mask או נתוני blending-range לפני עיבודה
  • לבדוק metadata לכל ערוץ למטרות אבחון ברמת הפורמט

טען קובץ PSD ובדוק את השכבות שלו

טען קובץ באמצעות Image.load כדי לקבל מופע PsdImage לחברים ספציפיים ל-PSD.

from aspose_psd_foss.image import Image
with Image.load("test.psd") as image:
    print(f"Width: {image.width}, Channels: {image.channels_count}, Layers: {len(image.layers)}")

ערוך גבולות שכבה ומצב מיזוג, ואז שמור

גבולות השכבה ומצב המיזוג ניתן לשנות במקום ולשמור חזרה לדיסק.

from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode

with PsdImage.load("test.psd") as image:
    image.layers[0].left = 10
    image.layers[0].top = 20
    image.layers[0].right = 40
    image.layers[0].bottom = 60
    image.layers[0].blend_mode_key = BlendMode.MULTIPLY
    image.save("edited.psd")

with PsdImage.load("edited.psd") as reloaded:
    print(f"Bounds: {reloaded.layers[0].bounds}, BlendMode: {reloaded.layers[0].blend_mode_key}")

קרא מידע ערוץ (קריאה בלבד)

מידע ערוץ ניתן לקריאה אך לא ניתן לשינוי — ניסיון להגדיר אותו גורם לחריגה NotSupportedException.

from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("test.psd") as image:
    layer = image.layers[0]
    channel_information = layer.channel_information
    print(f"Channel count: {layer.channels_count}, first channel: `NotSupportedException`")
    # layer.channel_information = channel_information  # raises NotSupportedException

שאלות נפוצות

מהו מודל הרישוי?

Aspose.PSD FOSS for Python הוא ברישיון MIT. אתה יכול להשתמש, לשנות ולפזר אותו תחת תנאי רישיון MIT, כולל במוצרים מסחריים.

איך אני מתקין Aspose.PSD FOSS for Python?

ראו את סעיף ההתקנה למעלה עבור פקודת ההתקנה הנוכחית.

אילו פורמטים יכול Aspose.PSD FOSS for Python לקרוא ולכתוב?

הוא טוען ושומר קבצי PSD ו-PSB (מסמך פוטושופ גדול). הוא אינו מרנדר או מייצא נתוני פיקסלים לפורמטים רסטריים אחרים כגון PNG או JPEG.

מהי מחלקת נקודת הכניסה הראשית?

PsdImage (תת-מחלקה של Image). טען מסמך באמצעות PsdImage.load, ואז קרא את האוסף layers ואת מאפייני הכותרת.

האם אני יכול לשנות מטא-נתוני שכבה?

כן — Layer חשוף מתודה setter עובדת למספר תכונות, כגון נראות ושם, ו-PsdImage.layers עצמו כולל setter עובדת להחלפת האוסף. כמה תכונות ספציפיות (מידע ערוץ, נתוני מסכה, טווחי מיזוג, וחלק מהמשאבים ברמת המסמך) הן קריאה בלבד בבנייה זו של FOSS ומעוררות NotSupportedException אם מוגדרות.

  

משאבי תמיכה ולמידה

 עברית