Como converter e-mail do Outlook para PDF usando Python

Neste tutorial fácil, aprenderemos como converter Outlook Email para PDF usando Python juntamente com etapas detalhadas para configurar o ambiente. Você verá que, para converter MSG para PDF, a API baseada em Python pode ser usada e você pode usar este exemplo em qualquer um dos sistemas operacionais comumente disponíveis, como Windows ou Linux.

Etapas para converter e-mail do Outlook em PDF usando Python

  1. Estabeleça o ambiente para use Aspose.Email para Python via .NET e Aspose.Words para Python via .NETem seu aplicativo para converter e-mail em PDF em Python
  2. Crie uma instância do objeto de classe MailMessage para carregar o arquivo EML ou MSG de origem do disco ou servidor de correio
  3. Salve o arquivo de e-mail (MSG/EML) em um fluxo de memória em um formato MHTML intermediário
  4. Use o LoadFormat como MHTML e crie um objeto da classe Document para carregar o stream de memória MHTML de formato intermediário
  5. Usando o método save em Python, execute a conversão de EML para PDF

Usando as etapas acima no aplicativo de conversão Python MSG para PDF é desenvolvido onde primeiro acessaremos o arquivo EML ou MSG do disco usando o objeto de classe MailMessage, que é seguido por salvar o email em um fluxo de memória em um intermediário Formato de arquivo MHTML. Nas etapas subsequentes, acessaremos o arquivo MHTML intermediário usando o objeto da classe Document e, finalmente, para converter EML para PDF Python será usado o método save.

Código para converter e-mail do Outlook em PDF usando Python

import aspose.email as ae
import aspose.words as aw
import io
# Path to the source EML/MSG
filePath = "C://SampleTestData//"
# Load the license in your application for converting EML to PDF
emltoPdfLicense = ae.License()
emltoPdfLicense.set_license(filePath + "Conholdate.Total.Product.Family.lic")
# Set the Aspose.Words API license to convert MHTML to PDF
mhtmlToPDFLicense = aw.License()
mhtmlToPDFLicense.set_license(filePath + "Conholdate.Total.Product.Family.lic")
# Access the source EML or MSG file from the disk
srcEmlMessage = ae.MailMessage.load(filePath + "Message.msg")
# Save the email file to a memory stream as an MHTML with default options
int_mhtml_Stream = io.BytesIO()
# Save the EML or MSG file to a stream in MHTML file format
srcEmlMessage.save(int_mhtml_Stream, ae.SaveOptions.default_mhtml)
# Seek the memory position to 0th index
int_mhtml_Stream.seek(0)
# Use the LoadOptions to set the load format to Mhtml
mhtmlLoadOptions = aw.loading.LoadOptions()
mhtmlLoadOptions.load_format = aw.LoadFormat.MHTML
# Create an instance of the Document class to load the MTHML file from Memory Stream
mhtmlDocument = aw.Document(int_mhtml_Stream, mhtmlLoadOptions)
# Close the MHTML Memory Stream
int_mhtml_Stream.close()
# Initialize the PdfSaveOptions class object to se the PDF options
pdfSaveOptions = aw.saving.PdfSaveOptions()
# Save the loaded MHTML file to a PDF using Python
mhtmlDocument.save(filePath + "SaveEmailAsPDF.pdf", pdfSaveOptions)
print ("EML converted to PDF file")

O exemplo acima exibe para converter EML em PDF Python é usado com a ajuda de chamadas de API simples e um procedimento bem definido. Este exemplo pode ser usado para arquivos de e-mail nos formatos de arquivo EML e MSG. Você também pode personalizar o PDF de saída definindo propriedades como Compliance, ColorMode, JpegQuality e ImageCompression.

Para converter MSG para PDF em Python a API é explorada neste artigo. Se você deseja dividir um arquivo PST em Python, consulte o artigo em como dividir o arquivo PST usando Python.

 Português