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:$PYTHONPATHChecklist de Diagnóstico
Antes de abrir um ticket de suporte, siga esta lista de verificação:
- Confirme que o arquivo é realmente PSD/PSB — a
PsdLoadExceptionsobre uma versão não suportada geralmente indica que o documento não é um PSD/PSB verdadeiro. - Verifique
NotSupportedException— você pode estar definindo uma das 7 propriedades somente leitura listadas acima em vez de lê-la. - Verify
opacityestá no intervalo de 0-255, não 0.0-1.0 ou 0-100. - Mantenha valores de string abaixo de 255 bytes antes de salvar, para evitar
PsdSaveException. - Call
image.saveapós cada edição — alterações em umLayerinstância não é persistida até que o documento seja salvo.