Mesclar vários PDfs usando pypdf2 e e-mail

Sep 11 2020

Estou usando o PyPDF2 para mesclar vários arquivos pdf e, em seguida, uso o método shutil do python para copiar a saída para o destino final e uso o smtplib para enviar uma cópia por e-mail (como um anexo) para um usuário.

Os arquivos mesclados no destino final estão aparecendo corretamente, mas a cópia enviada por e-mail (anexo) não. Apenas o primeiro item em uma matriz está aparecendo, mas a página restante está em branco com o número total correto de páginas.

Aqui está meu fluxo de trabalho

  • Mesclar arquivos e salvar mesclados na pasta local --- Trabalhando como esperado
  • Copie o arquivo mesclado para o destino final --- Trabalhando como esperado -
  • Enviar por e-mail uma cópia do arquivo mesclado para o endereço de e-mail do usuário - primeiro arquivo em uma matriz, páginas vazias depois disso. O número total de páginas corresponde à contagem total.

Estou usando o seguinte código para mesclar arquivos

pdf_list=['pdf_source.pdf','second_file.pdf','third_file.pdf']
for pdf in pdf_list:            
            merger.append(PdfFileReader(pdf),'rb')  
with open(merge_file_name, 'wb') as new_file:
            merger.write(new_file)

Por favor sugira

Respostas

WorkInProgress Sep 11 2020 at 19:35

Depois de pesquisar, descobri que o problema não era pypdf2, mas a forma como o arquivo estava sendo anexado a um e-mail.

A solução stackoverflow seguinte corrigiu o problema.

Como anexar um arquivo pdf a um e-mail MIME em Python?