استكشاف الأخطاء وإصلاحها 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 عن طول سلسلة باسكال

قيمة السلسلة — غالبًا ما تكون اسم طبقة أو مورد — تتجاوز 255 بايت، الحد الأقصى الذي يمكن لحقل سلسلة باسكال في 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 يحتوي على مُعيّن يعمل على مستوى المجموعة، لكن لا يمكن إزالة عناصر القائمة الفردية ببساطة في مكانها — أعد تعيين القائمة المفلترة بالكامل:

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 — أ PsdLoadException عن نسخة غير مدعومة عادةً ما يعني أن الملف ليس مستندًا PSD/PSB حقيقيًا.
  2. تحقق من NotSupportedException — قد تكون تقوم بتعيين إحدى الخصائص السبع للقراءة فقط المذكورة أعلاه بدلاً من قراءتها.
  3. Verify opacity في النطاق 0-255، وليس 0.0-1.0 أو 0-100.
  4. احتفظ بقيم السلاسل أقل من 255 بايت قبل الحفظ، لتجنب PsdSaveException.
  5. Call image.save بعد كل تعديل — تغييرات على Layer المثيل لا يتم حفظه حتى يتم حفظ المستند.

انظر أيضاً

 العربية