פתרון בעיות Aspose.PSD FOSS for Python
פתרון בעיות Aspose.PSD FOSS עבור Python
דף זה מכסה את הבעיות הנפוצות ביותר המתרחשות בעת טעינה, בדיקה ושמירה של מסמכי PSD/PSB עם Aspose.PSD FOSS עבור Python.
בעיות טעינה
PsdLoadException עם הודעה על גרסה לא נתמכת
שדה גרסת ה-PSD המוצהר של הקובץ אינו ערך ה-PSD הסטנדרטי ולא ערך ה-PSB עבור מסמכים גדולים. ודא שהקובץ הוא מסמך PSD/PSB אמיתי ולא פגום לפני הטעינה:
try:
image = PsdImage.load("input.psd")
except PsdLoadException as ex:
print(f"Not a valid PSD/PSB file: {ex}")PsdLoadException על אורך קטע העולה על גבול
שדות האורך הפנימיים של הקובץ אינם תואמים לגודלו האמיתי — הדבר בדרך כלל משמעותו שהקובץ נחתך או פגום, ולא שהוא משתמש במבנה לא נתמך אך תקין אחרת. ייצא מחדש את הקובץ מהיישום המקורי ונסה שוב.
בעיות שמירה
PsdSaveException על אורך מחרוזת פסקל
ערך מחרוזת — בדרך כלל שם שכבה או משאב — חורג מ-255 בתים, המקסימום ששדה מחרוזת פסקל של PSD יכול לקודד:
layer.name = layer.name[:255] if len(layer.name) > 255 else layer.name
image.save("output.psd")בעיות עריכה
NotSupportedException בעת קביעת נכס
מספר נכסים הם רק לקריאה בבנייה הזו של FOSS. ב-PsdImage: active_layer, image_resources, global_layer_resources, has_transparency_data. ב-Layer: channel_information, layer_mask_data, layer_blending_ranges_data. יש להתייחס אליהם כאל קריאה בלבד — אל תקצו להם ערך.
שקיפות השכבה נראית שגויה לאחר שהוגדרה
Layer.opacity הוא ערך של 0-255 לפי קונבנצייה, ולא שבר של 0.0-1.0 או אחוז:
layer.opacity = 200 # approximately 78% opaque, not 200%הסרת שכבה אינה מתבצעת
PsdImage.layers כולל setter עובד ברמת האוסף, אך לא ניתן להסיר אלמנטים בודדים ברשימה במקום — יש להקצות מחדש את כל הרשימה המסוננת:
image.layers = [l for l in image.layers if l.name != "Unwanted Layer"]בעיות התקנה
החבילה לא נמצאה
אשר את זהות החבילה המדויקת:
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רשימת בדיקה לאבחון
לפני פתיחת תקלה בתמיכה, עברו על רשימת הבדיקה הזו:
- אשר שהקובץ הוא באמת PSD/PSB — a
PsdLoadExceptionגרסה לא נתמכת בדרך כלל משמעותה שהקובץ אינו מסמך PSD/PSB אמיתי. - בדוק עבור
NotSupportedException— ייתכן שאתה מגדיר אחת משבעת תכונות הקריאה בלבד המפורטות למעלה במקום לקרוא אותה. - Verify
opacityבטווח 0-255, לא 0.0-1.0 או 0-100. - שמור ערכי מחרוזת מתחת ל-255 בתים לפני השמירה, כדי למנוע
PsdSaveException. - Call
image.saveאחרי כל עריכה — שינויים בLayerמופע אינו נשמר עד שהמסמך נשמר.