Усунення неполадок 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Контрольний список діагностики
Перш ніж відкривати запит до підтримки, пройдіть цей контрольний список:
- Підтвердіть, що файл справді PSD/PSB — a
PsdLoadExceptionпро непідтримувану версію зазвичай означає, що файл не є справжнім документом PSD/PSB. - Перевірте
NotSupportedException— можливо, ви встановлюєте одне з 7 властивостей лише для читання, зазначених вище, замість того, щоб читати його. - Verify
opacityу діапазоні 0-255, а не 0.0-1.0 або 0-100. - Тримайте рядкові значення менше 255 байт перед збереженням, щоб уникнути
PsdSaveException. - Call
image.saveпісля кожного редагування — зміни до aLayerекземпляр не зберігаються, доки документ не буде збережений.