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.
Image.load(file_path) abre un archivo y devuelve una instancia de PsdImagePsdImage.width, height y channels_count informan las dimensiones del lienzo y el recuento de canalesPsdImage.layers devuelve la lista completa de objetos Layer en orden del documentoPsdImage.layers devuelve cada Layer en orden del documento; cada Layer expone name, bounds, opacity, is_visible y blend_mode_keyLayer.channel_information expone metadatos del canal para una inspección más profundaLayer.channels_count informa cuántos canales de imagen lleva una capaPsdImage.layers mismo puede ser reasignado para eliminar o reordenar capasLayer.name, Layer.left/top/right/bottom, y Layer.blend_mode_key pueden establecerse directamentePsdImage.save(file_path) persiste el documento modificado en el discoPsdImage.load confirma que las ediciones se realizan correctamente en ida y vueltaNotSupportedException si se establecen — esta compilación admite ediciones solo de metadatos, no una reautoría completaLayer.channel_information expone colecciones de metadatos por canalLayer.has_mask_data y has_blending_ranges_data informan si las secciones opcionales están presentesPsdLoadException y PsdSaveException exponen errores de carga/guardado con mensajes clarosCargue 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)}")
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}")
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
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.
Consulte la sección de instalación anterior para obtener el comando de instalación actual.
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.
PsdImage (una subclase de Image). Cargue un documento con PsdImage.load, luego lea su colección layers y las propiedades del encabezado.
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.