引用和共享电子邮件内容时需要将电子邮件转换为 PDF。在本文中,我们将学习使用 Python 将 MSG 和 EML 等电子邮件文件转换为 PDF。这将帮助您在您的应用程序中自动转换云上的电子邮件。
![在 Python 中将电子邮件转换为 PDF](images/Email-to-PDF-in-Python.jpg#center)
以下是本文涵盖的主题:
Python 转换库
我将使用 GroupDocs.Conversion Cloud API for Python 在云端将 EML 和 MSG 电子邮件消息转换为 PDF。通过使用此 API,您还可以将大量文档和图像格式转换为任何其他支持的格式。
GitHub 上提供了 Python 示例,可帮助您在自己的应用程序中学习和实现这些功能。您可以使用以下命令从 PyPI(Python 包索引)使用 pip(python 包安装程序)安装 groupdocs-conversion-cloud:
pip install groupdocs-conversion-cloud
或克隆存储库并通过 setuptools 安装它:
python setup.py install
在您继续之前,请从您的 dashboard 快速获取您的 Client ID 和 Client Secret,然后跳到下方查看将您的电子邮件转换为 PDF 的 python 方法,PDF 是一种流行的便携式文档格式。
使用 Python 将 MSG 转换为 PDF
只需几行代码并按照以下提到的步骤,即可将 Outlook MSG 文件转换为 PDF。步骤中的嵌入式链接将允许进一步探索类和方法。
- 使用客户端 ID、客户端密码和 API 基本 URL 设置配置。
- 使用文件路径和输出格式配置设置。
- 使用 EmailLoadOptions 设置加载选项。
- 使用 convert\document 方法和设置将 MSG 文件转换为 PDF 格式。
以下 python 代码按照上述步骤将电子邮件 MSG 文件转换为 PDF 格式。您还可以选择隐藏或显示电子邮件的不同字段(收件人、抄送、密件抄送)。
# 使用 GroupDocs.Conversion Cloud API 在 Python 中将 MSG 电子邮件文件转换为 PDF
configuration = groupdocs_conversion_cloud.Configuration("<< CLIENT_ID >>", "<< CLIENT_SECRET >>")
configuration.api_base_url = "https://api.groupdocs.cloud"
# 创建 API 实例
apiInstance = groupdocs_conversion_cloud.ConvertApi.from_config(configuration)
# 转换设置
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "filepath/email.msg"
settings.format = "pdf"
# 加载选项
loadOptions = groupdocs_conversion_cloud.EmailLoadOptions()
## Set different fields as visible or hidden
loadOptions.display_header = True
loadOptions.display_from_email_address = True
loadOptions.display_to_email_address = False
loadOptions.display_email_address = True
loadOptions.display_cc_email_address = True
loadOptions.display_bcc_email_address = True
settings.load_options = loadOptions
settings.output_path = "filepath/folder"
# 根据设置转换成PDF
result = apiInstance.convert_document(groupdocs_conversion_cloud.ConvertDocumentRequest(settings))
下面是使用 Microsoft Outlook 创建的示例 MSG 文件。下面是PDF文件,是用python代码转换MSG文件得到的。
![要以编程方式转换为 PDF 的 MSG 电子邮件文件](images/MSG-message.png#center)
![以编程方式将 MSG 转换为 PDF 文件](images/converted-msg-to-pdf.png#center)
使用 Python 将 EML 转换为 PDF
同样,ee 也可以通过类似的 python 代码行以编程方式将我们的 EML 格式电子邮件消息转换为 PDF 格式。以下步骤将指导您实现目标。
- 使用客户端 ID、客户端密码和 API 基本 URL 设置配置。
- 定义源路径、输出格式和 ConvertSettings。
- 使用 EmailLoadOptions 设置加载选项,并定义要在转换后的 PDF 中显示或隐藏的字段。
# 使用 GroupDocs.Conversion Cloud API 在 Python 中以编程方式将 EML 文件转换为 PDF
configuration = groupdocs_conversion_cloud.Configuration("<< CLIENT_ID >>", "<< CLIENT_SECRET >>")
configuration.api_base_url = "https://api.groupdocs.cloud"
# 创建 API 实例
apiInstance = groupdocs_conversion_cloud.ConvertApi.from_config(configuration)
# 转换设置
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "filepath/email.eml"
settings.format = "pdf"
# 加载选项
loadOptions = groupdocs_conversion_cloud.EmailLoadOptions()
## Set different fields as visible or hidden
loadOptions.display_cc_email_address = False
loadOptions.display_bcc_email_address = False
settings.load_options = loadOptions
settings.output_path = "filepath/folder"
# 根据设置转换成PDF
result = apiInstance.convert_document(groupdocs_conversion_cloud.ConvertDocumentRequest(settings))
以下是使用上述代码转换的源 EML 文件和转换后的 PDF 文件屏幕截图。
![要以编程方式转换为 PDF 的 EML 文件](images/EML-message.png#center)
![以编程方式将 EML 转换为 PDF 文件](images/converted-eml-to-pdf.png#center)
结论
今天,我们学习了使用 Python Conversion API 在云端将 MSG 和 EML 文件转换为 PDF。此外,我们可以通过编程方式将自定义应用于生成的 PDF 文件,以获得我们想要的样式的结果。您可以从 文档 了解有关 GroupDocs.Conversion Cloud API 的更多信息。如有任何疑问,请随时联系 支持。