Solución de problemas Aspose.PSD FOSS for Python
Resolución de problemas Aspose.PSD FOSS para Python
Esta página cubre los problemas más comunes encontrados al cargar, inspeccionar y guardar documentos PSD/PSB con Aspose.PSD FOSS para Python.
Problemas de carga
PsdLoadException con un mensaje sobre una versión no compatible
El campo de versión PSD declarado no corresponde ni al PSD estándar ni al valor PSB de documentos de gran tamaño. Verifique que el documento PSD/PSB sea auténtico y no esté corrupto antes de cargarlo:
try:
image = PsdImage.load("input.psd")
except PsdLoadException as ex:
print(f"Not a valid PSD/PSB file: {ex}")PsdLoadException sobre una longitud de sección que supera un límite
Los campos de longitud internos son inconsistentes con el tamaño real — esto suele indicar que el archivo está truncado o corrupto, no que utilice una estructura no compatible pero válida de otro modo. Vuelva a exportar el archivo desde la aplicación de origen y reintente.
Problemas al guardar
PsdSaveException sobre la longitud de una cadena Pascal
Un valor de cadena — usualmente el nombre de una capa o recurso — supera los 255 bytes, el máximo que puede codificar un campo de cadena Pascal en PSD:
layer.name = layer.name[:255] if len(layer.name) > 255 else layer.name
image.save("output.psd")Problemas al editar
NotSupportedException al establecer una propiedad
Varias propiedades son de solo lectura en esta compilación FOSS. En PsdImage: active_layer, image_resources, global_layer_resources, has_transparency_data. En Layer: channel_information, layer_mask_data, layer_blending_ranges_data. Trátelas como solo de obtención — no les asignes valores.
La opacidad de la capa parece incorrecta después de ajustarla
Layer.opacity es convencionalmente un valor de 0-255, no una fracción de 0.0-1.0 o un porcentaje:
layer.opacity = 200 # approximately 78% opaque, not 200%La eliminación de una capa no tiene efecto
PsdImage.layers tiene un setter funcional a nivel de colección, pero los elementos individuales de la lista no pueden simplemente eliminarse in situ — reasigna la lista filtrada completa:
image.layers = [l for l in image.layers if l.name != "Unwanted Layer"]Problemas de instalación
Paquete no encontrado
Confirma la identidad exacta del paquete:
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:$PYTHONPATHLista de verificación diagnóstica
Antes de abrir un caso de soporte, revisa esta lista de verificación:
- Confirme que el archivo sea genuinamente PSD/PSB — a
PsdLoadExceptionsobre una versión no compatible generalmente significa que el archivo no es un documento real de PSD/PSB. - Verifique
NotSupportedException— es posible que esté estableciendo una de las 7 propiedades de solo lectura enumeradas arriba en lugar de leerla. - Verify
opacityestá en el rango 0-255, no 0.0-1.0 o 0-100. - Mantenga los valores de cadena por debajo de 255 bytes antes de guardar, para evitar
PsdSaveException. - Call
image.savedespués de cada edición — cambios a unLayerla instancia no se persiste hasta que el documento se guarde.