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

Aspose.PSD FOSS para Python

Biblioteca Python de código aberto para carregamento, inspeção e gravação de arquivos PSD/PSB com acesso a metadados de camadas. Licença MIT, não requer Adobe Photoshop.

Biblioteca Python de código aberto para arquivos PSD/PSB

Aspose.PSD FOSS for Python é uma biblioteca gratuita, licenciada sob MIT, pura Python para carregar, inspecionar, e salvar arquivos Adobe Photoshop PSD e PSB sem exigir o Adobe Photoshop ou qualquer tempo de execução proprietário. Ela expõe uma API leve e independente centrada em PsdImage e Layer, proporcionando aos desenvolvedores Python acesso programático à estrutura de um documento PSD sem dependências nativas para compilar. A biblioteca lê as dimensões, modo de cor, profundidade de bits e compressão de um arquivo PSD/PSB método, e expõe cada camada através de PsdImage.layers: cada Layer relata seu nome, limites, opacidade, visibilidade e a chave do modo de mesclagem (BlendMode), junto com informações de nível inferior de canal (ChannelInformation) e dados de máscara (LayerMaskData). Um subconjunto de metadados da camada — nome, limites (left/top/right/bottom), e modo de mesclagem — pode ser modificado no local e persistido de volta ao disco com PsdImage.save(); tudo o mais na superfície é somente leitura por design nesta compilação FOSS. Aspose.PSD FOSS for Python é licenciado sob MIT. Instale-o com pip install aspose-psd-foss — a biblioteca não tem dependências nativas de terceiros dependências, apenas a biblioteca padrão Python. Para a família de produtos empresariais, veja Aspose.PSD — Enterprise Product Family.

Carregar e Inspecionar Arquivos PSD/PSB Files

  • Image.load(file_path) abre um arquivo e retorna uma instância PsdImage
  • PsdImage.width, height e channels_count relatam as dimensões da tela e a contagem de canais
  • Os detalhes do cabeçalho do documento são lidos a partir do modo de cor e dos metadados de compressão do arquivo analisado
  • PsdImage.layers retorna a lista completa de objetos Layer na ordem do documento

Validar e Catalogar Arquivos de Design

  • Validar um lote de arquivos de design antes de entregá-los a um processo subsequente
  • Criar um catálogo leve de ativos com as dimensões e a contagem de camadas de PSD/PSB
  • Detectar arquivos PSB (large-document) que precisam de tratamento diferente do PSD padrão

Trabalhar com Camadas

  • PsdImage.layers retorna cada Layer na ordem do documento; cada Layer expõe name, bounds, opacity, is_visible e blend_mode_key
  • Layer.channel_information expõe metadados do canal para inspeção mais profunda
  • Layer.channels_count informa quantos canais de imagem uma camada contém
  • PsdImage.layers pode ser reatribuído para remover ou reordenar camadas

Estrutura da Camada de Auditoria

  • Auditar a estrutura de camadas de um PSD sem abrir o Photoshop
  • Gerar um relatório de nomes de camadas, visibilidade e modos de mesclagem para revisão de design
  • Identificar camadas ocultas ou com opacidade zero deixadas de edições anteriores

Editar Metadados Básicos da Camada

  • Layer.name, Layer.left/top/right/bottom e Layer.blend_mode_key podem ser definidos diretamente
  • PsdImage.save(file_path) persiste o documento modificado de volta ao disco
  • Recarregar um arquivo salvo com PsdImage.load confirma que as edições são realizadas corretamente em ida e volta
  • Propriedades não listadas acima (informações de canal, dados de máscara, intervalos de mesclagem) levantam NotSupportedException se definidas — esta compilação suporta apenas edições de metadados, não reautoria completa

Edições leves, scriptáveis

  • Renomear camadas programaticamente como parte de um pipeline automatizado de organização de arquivos
  • Reposicionar ou redimensionar a caixa delimitadora de uma camada sem uma ferramenta de design
  • Atualizar em lote os modos de mesclagem em vários arquivos para consistência

Inspecionar Dados de Canal e Recurso

  • Layer.channel_information expõe coleções de metadados por canal
  • Layer.has_mask_data e has_blending_ranges_data relatam se seções opcionais estão presentes
  • PsdLoadException e PsdSaveException apresentam erros de carregamento/salvamento com mensagens claras
  • Todas as classes são puras Python sem módulos de extensão compilados

Diagnosticar e Inspecionar

  • Diagnostique por que um determinado arquivo PSD falha ao carregar, com uma exceção tipada em vez de um erro genérico
  • Verifique se uma camada contém máscara ou dados de intervalo de mesclagem antes de processá-la
  • Inspecione metadados por canal para diagnósticos a nível de formato

Carregue um Arquivo PSD e Inspecione Suas Camadas

Carregue um arquivo com Image.load para obter uma instância PsdImage para membros 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 Limites da Camada e Modo de Mesclagem, Depois Salvar

Os limites da camada e o modo de mesclagem podem ser alterados no local e salvos de volta no 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}")

Ler informações do canal (Somente leitura)

As informações do canal podem ser lidas, mas não reassinadas — ao tentar defini-las, ocorre 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

Perguntas Frequentes

Qual é o modelo de licenciamento?

Aspose.PSD FOSS for Python está licenciado sob a licença MIT. Você pode usar, modificar e redistribuí-lo sob os termos da licença MIT, inclusive em produtos comerciais.

Como faço para instalar Aspose.PSD FOSS for Python?

Consulte a seção de instalação acima para o comando de instalação atual.

Quais formatos o Aspose.PSD FOSS for Python pode ler e gravar?

Ele carrega e salva arquivos PSD e PSB (documento grande do Photoshop). Não renderiza nem exporta dados de pixel para outros formatos raster, como PNG ou JPEG.

Qual é a classe principal de ponto de entrada?

PsdImage (uma subclasse de Image). Carregue um documento com PsdImage.load, então leia sua coleção layers e as propriedades do cabeçalho.

Posso modificar os metadados da camada?

Sim — Layer expõe um setter funcional para várias propriedades, como visibilidade e nome, e PsdImage.layers em si tem um setter funcional para substituir a coleção. Algumas propriedades específicas (informações de canal, dados de máscara, intervalos de mesclagem e alguns recursos de nível de documento) são somente leitura nesta compilação FOSS e lançam NotSupportedException se definidas.

  

Recursos de Suporte e Aprendizado

 Português