Solución de problemas Aspose.PSD FOSS for Python

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:$PYTHONPATH

Lista de verificación diagnóstica

Antes de abrir un caso de soporte, revisa esta lista de verificación:

  1. Confirme que el archivo sea genuinamente PSD/PSB — a PsdLoadException sobre una versión no compatible generalmente significa que el archivo no es un documento real de PSD/PSB.
  2. Verifique NotSupportedException — es posible que esté estableciendo una de las 7 propiedades de solo lectura enumeradas arriba en lugar de leerla.
  3. Verify opacity está en el rango 0-255, no 0.0-1.0 o 0-100.
  4. Mantenga los valores de cadena por debajo de 255 bytes antes de guardar, para evitar PsdSaveException.
  5. Call image.save después de cada edición — cambios a un Layer la instancia no se persiste hasta que el documento se guarde.

Ver también

 Español