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
- 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
- Crie uma instância do objeto de classe MailMessage para carregar o arquivo EML ou MSG de origem do disco ou servidor de correio
- Salve o arquivo de e-mail (MSG/EML) em um fluxo de memória em um formato MHTML intermediário
- Use o LoadFormat como MHTML e crie um objeto da classe Document para carregar o stream de memória MHTML de formato intermediário
- 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.