عیب‌یابی Aspose.PSD FOSS for Python

عیب‌یابی 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

چک‌لیست تشخیص

قبل از باز کردن یک درخواست پشتیبانی، این چک‌لیست را مرور کنید:

  1. تأیید کنید که فایل به‌راستی PSD/PSB است — a PsdLoadException درباره یک نسخهٔ پشتیبانی‌نشده معمولاً به این معنی است که فایل یک سند واقعی PSD/PSB نیست.
  2. بررسی کنید NotSupportedException — ممکن است یکی از 7 ویژگی فقط-خواندنی فهرست‌شده در بالا را تنظیم کنید به‌جای این‌که آن را بخوانید.
  3. Verify opacity در بازهٔ 0-255 قرار دارد, نه 0.0-1.0 یا 0-100.
  4. مقادیر رشته‌ای را زیر 255 بایت نگه دارید قبل از ذخیره، برای جلوگیری از PsdSaveException.
  5. Call image.save بعد از هر ویرایش — تغییرات به یک Layer نمونه تا زمانی که سند ذخیره نشود، حفظ نمی‌شود.

همچنین ببینید:

 فارسی