Усунення неполадок 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 під час встановлення властивості

Декілька властивостей є лише для читання у цьому 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 має працюючий сеттер на рівні колекції, але окремі елементи списку не можна просто видалити на місці — переназначте весь відфільтрований список:

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 після кожного редагування — зміни до a Layer екземпляр не зберігаються, доки документ не буде збережений.

Дивіться також

 Українська