Untitled
unknown
plain_text
7 days ago
2.2 kB
4
Indexable
from PIL import Image from fpdf import FPDF import os # Configurações imagens_por_pagina = 3 # Altere para 2 se quiser 2 imagens por página pasta_imagens = "./Photos2" output_pdf = "resultado3.pdf" margem_direita = 70 # Margem de 50 mm para notas espaco_entre_fotos = 5 # Espaço de 5 mm entre as fotos largura_linha = 0.5 # Espessura da linha de separação # Criação do PDF pdf = FPDF(orientation='P', unit='mm', format='A4') largura_pagina, altura_pagina = 210, 297 # Dimensões da página A4 em mm largura_disponivel = largura_pagina - margem_direita # Ajustar a largura disponível para as imagens altura_disponivel = (altura_pagina - ((imagens_por_pagina - 1) * espaco_entre_fotos)) / imagens_por_pagina # Espaço para cada imagem incluindo o espaço entre elas # Obter e ordenar a lista de imagens pela numeração em seus nomes imagens = [img for img in os.listdir(pasta_imagens) if img.lower().startswith('img_') and img.lower().endswith(('png', 'jpg', 'jpeg'))] imagens.sort(key=lambda x: int(x.split('_')[1].split('.')[0])) # Ordenar por número após 'IMG_' # Adicionar imagens ao PDF for i, imagem_nome in enumerate(imagens): imagem_caminho = os.path.join(pasta_imagens, imagem_nome) if i % imagens_por_pagina == 0: pdf.add_page() # Redimensionar imagens para caber na largura disponível e altura calculada nova_largura = largura_disponivel nova_altura = altura_disponivel # Calcular posição da imagem x = (largura_pagina - margem_direita - nova_largura) / 2 y = (altura_disponivel + espaco_entre_fotos) * (i % imagens_por_pagina) # Adicionar imagem ao PDF pdf.image(imagem_caminho, x=x, y=y, w=nova_largura, h=nova_altura) # Adicionar linha preta abaixo da imagem (exceto a última imagem na página) if (i % imagens_por_pagina) != (imagens_por_pagina - 1): pdf.set_line_width(largura_linha) pdf.set_draw_color(0, 0, 0) # Cor preta linha_y = y + nova_altura + (espaco_entre_fotos / 2) pdf.line(10, linha_y, largura_pagina - 10, linha_y) # Linhas de ponta a ponta da página # Salvar o PDF pdf.output(output_pdf) print(f"PDF criado com sucesso: {output_pdf}")
Editor is loading...
Leave a Comment