1. Productos
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for Python

Aspose.PSD FOSS para Python

Biblioteca de código abierto Python para cargar, inspeccionar y guardar archivos PSD/PSB con acceso a metadatos de capas. Licencia MIT, no se requiere Adobe Photoshop.

Biblioteca Python de código abierto para archivos PSD/PSB

Aspose.PSD FOSS for Python es una biblioteca Python pura, gratuita y con licencia MIT, para cargar, inspeccionar, y guardar archivos Adobe Photoshop PSD y PSB sin requerir Adobe Photoshop ni ningún runtime propietario.

Expone una API ligera y autónoma centrada en PsdImage y Layer, proporcionando a los desarrolladores Python acceso programático a la estructura de un documento PSD sin dependencias nativas para compilar.

La biblioteca lee las dimensiones, el modo de color, la profundidad de bits y el método de compresión del archivo PSD/PSB, y expone cada capa a través de PsdImage.layers: cada Layer informa su nombre, sus límites, opacidad, visibilidad y la clave del modo de fusión (BlendMode), junto con información de canal de bajo nivel (ChannelInformation) y datos de máscara (LayerMaskData). Un subconjunto de los metadatos de capa — nombre, límites (left/top/right/bottom), y modo de fusión — puede modificarse in situ y persistirse de nuevo en disco con PsdImage.save(); todo lo demás en la superficie es de solo lectura por diseño en esta compilación FOSS. Aspose.PSD FOSS for Python tiene licencia MIT. Instálalo con pip install aspose-psd-foss — la biblioteca no tiene dependencias nativas de terceros, solo la biblioteca estándar Python. Para la familia de productos empresariales, consulte Aspose.PSD — Enterprise Product Family.

Cargar e inspeccionar archivos PSD/PSB

  • Image.load(file_path) abre un archivo y devuelve una instancia de PsdImage
  • PsdImage.width, height y channels_count informan las dimensiones del lienzo y el recuento de canales
  • Los detalles del encabezado del documento se leen del modo de color y los metadatos de compresión del archivo analizado
  • PsdImage.layers devuelve la lista completa de objetos Layer en orden del documento

Validar y Catalogar Archivos de Diseño

  • Validar un lote de archivos de diseño antes de entregarlos a un proceso posterior
  • Construir un catálogo ligero de recursos con dimensiones y recuentos de capas de PSD/PSB
  • Detectar archivos PSB (documento grande) que requieren un manejo diferente al PSD estándar

Trabajar con capas

  • PsdImage.layers devuelve cada Layer en orden del documento; cada Layer expone name, bounds, opacity, is_visible y blend_mode_key
  • Layer.channel_information expone metadatos del canal para una inspección más profunda
  • Layer.channels_count informa cuántos canales de imagen lleva una capa
  • PsdImage.layers mismo puede ser reasignado para eliminar o reordenar capas

Estructura de la capa de auditoría

  • Auditar la estructura de capas de un PSD sin abrir Photoshop
  • Generar un informe de nombres de capas, visibilidad y modos de fusión para una revisión de diseño
  • Identificar capas ocultas o con opacidad cero que quedaron de ediciones anteriores

Editar Metadatos Básicos de la Capa

  • Layer.name, Layer.left/top/right/bottom, y Layer.blend_mode_key pueden establecerse directamente
  • PsdImage.save(file_path) persiste el documento modificado en el disco
  • Recargar un archivo guardado con PsdImage.load confirma que las ediciones se realizan correctamente en ida y vuelta
  • Las propiedades que no aparecen arriba (información de canal, datos de máscara, rangos de fusión) generan NotSupportedException si se establecen — esta compilación admite ediciones solo de metadatos, no una reautoría completa

Ediciones ligeras, programables

  • Renombrar capas programáticamente como parte de una canalización de organización de archivos automatizada
  • Reposicionar o cambiar el tamaño del cuadro delimitador de una capa sin una herramienta de diseño
  • Actualizar en lote los modos de fusión en muchos archivos para mantener la consistencia

Inspeccionar datos de canal y recurso

  • Layer.channel_information expone colecciones de metadatos por canal
  • Layer.has_mask_data y has_blending_ranges_data informan si las secciones opcionales están presentes
  • PsdLoadException y PsdSaveException exponen errores de carga/guardado con mensajes claros
  • Todas las clases son puras Python sin módulos de extensión compilados

Diagnosticar e inspeccionar

  • Diagnosticar por qué un archivo PSD concreto no se carga, con una excepción tipada en lugar de un error genérico
  • Verificar si una capa lleva datos de máscara o de rango de fusión antes de procesarla
  • Inspeccionar los metadatos por canal para diagnósticos a nivel de formato

Cargar un archivo PSD y examinar sus capas

Cargue un archivo con Image.load para obtener una instancia de PsdImage para los miembros específicos de PSD.

from aspose_psd_foss.image import Image
with Image.load("test.psd") as image:
    print(f"Width: {image.width}, Channels: {image.channels_count}, Layers: {len(image.layers)}")

Editar los límites de la capa y el modo de fusión, luego guardar

Los límites de la capa y el modo de fusión pueden modificarse en el lugar y guardarse nuevamente en el disco.

from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode

with PsdImage.load("test.psd") as image:
    image.layers[0].left = 10
    image.layers[0].top = 20
    image.layers[0].right = 40
    image.layers[0].bottom = 60
    image.layers[0].blend_mode_key = BlendMode.MULTIPLY
    image.save("edited.psd")

with PsdImage.load("edited.psd") as reloaded:
    print(f"Bounds: {reloaded.layers[0].bounds}, BlendMode: {reloaded.layers[0].blend_mode_key}")

Leer información del canal (Solo lectura)

La información del canal se puede leer pero no reasignar — intentar establecerla genera NotSupportedException.

from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("test.psd") as image:
    layer = image.layers[0]
    channel_information = layer.channel_information
    print(f"Channel count: {layer.channels_count}, first channel: `NotSupportedException`")
    # layer.channel_information = channel_information  # raises NotSupportedException

Preguntas frecuentes

¿Cuál es el modelo de licenciamiento?

Aspose.PSD FOSS for Python tiene licencia MIT. Puedes usarlo, modificarlo y redistribuirlo bajo los términos de la licencia MIT, incluso en productos comerciales.

¿Cómo instalo Aspose.PSD FOSS for Python?

Consulte la sección de instalación anterior para obtener el comando de instalación actual.

¿Qué formatos puede Aspose.PSD FOSS for Python leer y escribir?

Carga y guarda archivos PSD y PSB (documento grande de Photoshop). No renderiza ni exporta datos de píxeles a otros formatos raster como PNG o JPEG.

¿Cuál es la clase principal de punto de entrada?

PsdImage (una subclase de Image). Cargue un documento con PsdImage.load, luego lea su colección layers y las propiedades del encabezado.

¿Puedo modificar los metadatos de la capa?

Sí — Layer expone un setter funcional para varias propiedades, como visibilidad y nombre, y PsdImage.layers en sí tiene un setter funcional para reemplazar la colección. Algunas propiedades específicas (información de canal, datos de máscara, rangos de fusión y algunos recursos a nivel de documento) son de solo lectura en esta compilación FOSS y generan NotSupportedException si se establecen.

  

Recursos de soporte y aprendizaje

 Español