Solução de problemas Aspose.PSD FOSS for Python

Solução de problemas Aspose.PSD FOSS for Python

Solução de problemas do Aspose.PSD FOSS para Python

Esta página cobre os problemas mais comuns encontrados ao carregar, inspecionar e salvar documentos PSD/PSB com Aspose.PSD FOSS para Python.


Problemas ao carregar

PsdLoadException com uma mensagem sobre uma versão não suportada

O campo de versão PSD declarado no arquivo não corresponde nem ao padrão PSD nem ao valor PSB para documentos grandes. Verifique se o documento PSD/PSB é autêntico e está livre de corrupção antes de carregá-lo:

try:
    image = PsdImage.load("input.psd")
except PsdLoadException as ex:
    print(f"Not a valid PSD/PSB file: {ex}")

PsdLoadException sobre um comprimento de seção que excede um limite

Os campos internos de comprimento do arquivo não correspondem ao seu tamanho real — isso geralmente indica que o arquivo está truncado ou corrompido, e não que ele utiliza uma estrutura válida porém não suportada. Exporte novamente o arquivo a partir do aplicativo de origem e tente outra vez.


Problemas ao salvar

PsdSaveException sobre um comprimento de string Pascal

Um valor de string — normalmente um nome de camada ou recurso — excede 255 bytes, o máximo que um campo de string Pascal de PSD pode codificar:

layer.name = layer.name[:255] if len(layer.name) > 255 else layer.name
image.save("output.psd")

Problemas de edição

NotSupportedException ao definir uma propriedade

Várias propriedades são somente leitura nesta compilação FOSS. Em PsdImage: active_layer, image_resources, global_layer_resources, has_transparency_data. Em Layer: channel_information, layer_mask_data, layer_blending_ranges_data. Considere-as como somente leitura — não as atribua.

A opacidade da camada parece errada depois de defini-la

Layer.opacity costuma ser um valor de 0-255, não uma fração 0.0-1.0 ou uma porcentagem:

layer.opacity = 200  # approximately 78% opaque, not 200%

A remoção da camada não tem efeito

PsdImage.layers tem um setter funcional no nível da coleção, mas os elementos individuais da lista não podem ser simplesmente removidos no local — reatribua a lista filtrada inteira:

image.layers = [l for l in image.layers if l.name != "Unwanted Layer"]

Problemas de Instalação

Pacote não encontrado

Confirme a identidade exata do pacote:

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

Checklist de Diagnóstico

Antes de abrir um ticket de suporte, siga esta lista de verificação:

  1. Confirme que o arquivo é realmente PSD/PSB — a PsdLoadException sobre uma versão não suportada geralmente indica que o documento não é um PSD/PSB verdadeiro.
  2. Verifique NotSupportedException — você pode estar definindo uma das 7 propriedades somente leitura listadas acima em vez de lê-la.
  3. Verify opacity está no intervalo de 0-255, não 0.0-1.0 ou 0-100.
  4. Mantenha valores de string abaixo de 255 bytes antes de salvar, para evitar PsdSaveException.
  5. Call image.save após cada edição — alterações em um Layer instância não é persistida até que o documento seja salvo.

Ver também

 Português