引用和共享电子邮件内容时需要将电子邮件转换为 PDF。在本文中,我们将学习使用 Python 将 MSG 和 EML 等电子邮件文件转换为 PDF。这将帮助您在您的应用程序中自动转换云上的电子邮件。

在 Python 中将电子邮件转换为 PDF

以下是本文涵盖的主题:

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。步骤中的嵌入式链接将允许进一步探索类和方法。

  1. 使用客户端 ID、客户端密码和 API 基本 URL 设置配置。
  2. 使用文件路径和输出格式配置设置。
  3. 使用 EmailLoadOptions 设置加载选项。
  4. 使用 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 电子邮件文件
以编程方式将 MSG 转换为 PDF 文件

使用 Python 将 EML 转换为 PDF

同样,ee 也可以通过类似的 python 代码行以编程方式将我们的 EML 格式电子邮件消息转换为 PDF 格式。以下步骤将指导您实现目标。

  1. 使用客户端 ID、客户端密码和 API 基本 URL 设置配置。
  2. 定义源路径、输出格式和 ConvertSettings。
  3. 使用 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 文件
以编程方式将 EML 转换为 PDF 文件

结论

今天,我们学习了使用 Python Conversion API 在云端将 MSG 和 EML 文件转换为 PDF。此外,我们可以通过编程方式将自定义应用于生成的 PDF 文件,以获得我们想要的样式的结果。您可以从 文档 了解有关 GroupDocs.Conversion Cloud API 的更多信息。如有任何疑问,请随时联系 支持

也可以看看