OiO.lk Community platform!

Oio.lk is an excellent forum for developers, providing a wide range of resources, discussions, and support for those in the developer community. Join oio.lk today to connect with like-minded professionals, share insights, and stay updated on the latest trends and technologies in the development field.
  You need to log in or register to access the solved answers to this problem.
  • You have reached the maximum number of guest views allowed
  • Please register below to remove this limitation

PermissionError: [WinError 32] PIL e reportlab

  • Thread starter Thread starter Rogerio Chimuco
  • Start date Start date
R

Rogerio Chimuco

Guest
os.remove(temp_logo) PermissionError: [WinError 32] O processo não pode aceder ao ficheiro porque este está a ser utilizado por outro processo: 'temp_logo.png'

eu desejo colocar uma imagem sem fundo em um pdf,mas está a ter um fundo branco por definição, não estou a entender o porque... e tambem quando tento editar a imagem com um fundo transparente aparece este erro citado a cima

Imagem do Logo (se fornecida)​


Code:
if logo:
    try:
        # Abre a imagem com Pillow
        img_logo = Image.open(logo)

        # Cria uma nova imagem transparente do tamanho do logo
        img_transparente = Image.new("RGBA", img_logo.size, (0, 0, 0, 0))

        # Cola o logo na imagem transparente
        img_transparente.paste(img_logo, (0, 0), img_logo)

        # Salva a imagem em um arquivo temporário
        temp_logo = 'temp_logo.png'
        img_transparente.save(temp_logo)

        # Desenha a imagem no canvas
        canvas.drawImage(temp_logo, x + (largura - 2 * cm) / 2, y + 0.5 * cm, width=2 * cm, height=2 * cm)

    except Exception as e:
        print(f"Erro ao carregar a logo: {e}")

    finally:
        # Fecha o arquivo temporário
        img_transparente.close() 

        # Remove o arquivo temporário (se existir)
        if os.path.exists(temp_logo):
            print('Existe!')
            os.remove(temp_logo)
<p>os.remove(temp_logo)
PermissionError: [WinError 32] O processo não pode aceder ao ficheiro porque este está a ser utilizado por outro processo: 'temp_logo.png'</p>
<p>eu desejo colocar uma imagem sem fundo em um pdf,mas está a ter um fundo branco por definição, não estou a entender o porque... e tambem quando tento editar a imagem com um fundo transparente aparece este erro citado a cima</p>
<h1>Imagem do Logo (se fornecida)</h1>
<pre><code>if logo:
try:
# Abre a imagem com Pillow
img_logo = Image.open(logo)

# Cria uma nova imagem transparente do tamanho do logo
img_transparente = Image.new("RGBA", img_logo.size, (0, 0, 0, 0))

# Cola o logo na imagem transparente
img_transparente.paste(img_logo, (0, 0), img_logo)

# Salva a imagem em um arquivo temporário
temp_logo = 'temp_logo.png'
img_transparente.save(temp_logo)

# Desenha a imagem no canvas
canvas.drawImage(temp_logo, x + (largura - 2 * cm) / 2, y + 0.5 * cm, width=2 * cm, height=2 * cm)

except Exception as e:
print(f"Erro ao carregar a logo: {e}")

finally:
# Fecha o arquivo temporário
img_transparente.close()

# Remove o arquivo temporário (se existir)
if os.path.exists(temp_logo):
print('Existe!')
os.remove(temp_logo)
</code></pre>
 

Latest posts

Top