عیبیابی 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 دربارهٔ طول رشته Pascal
یک مقدار رشته — که معمولاً نام لایه یا منبع است — بیش از 255 بایت است، حداکثر مقداری که فیلد رشته Pascal در PSD میتواند رمزگذاری کند:
layer.name = layer.name[:255] if len(layer.name) > 255 else layer.name
image.save("output.psd")مشکلات ویرایش
NotSupportedException هنگام تنظیم یک ویژگی
چندین ویژگی در این نسخهٔ متن باز فقط-خواندنی هستند. در 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— ممکن است یکی از 7 ویژگی فقط-خواندنی فهرستشده در بالا را تنظیم کنید بهجای اینکه آن را بخوانید. - Verify
opacityدر بازهٔ 0-255 قرار دارد, نه 0.0-1.0 یا 0-100. - مقادیر رشتهای را زیر 255 بایت نگه دارید قبل از ذخیره، برای جلوگیری از
PsdSaveException. - Call
image.saveبعد از هر ویرایش — تغییرات به یکLayerنمونه تا زمانی که سند ذخیره نشود، حفظ نمیشود.