如何使用 Ruby 中的 REST API 在线将 EML 文件转换为 PDF

如何使用 Ruby 中的 REST API 将 EML 文件在线转换为 PDF

EML 文件是许多电子邮件客户端用来将电子邮件保存在您的 PC 或笔记本电脑上的一种格式。您可以将 EML 文件转换为 PDF 以保护、共享电子邮件并将其转换为 PDF 格式,从而将 EML 另存为 PDF 文件。在本文中,我将解释如何使用 Ruby 中的 REST API 将 EML 文件在线转换为 PDF。这将帮助您在 Rails 应用程序中自动转换云上的电子邮件消息。

本文应涵盖以下主题:

EML 到 PDF 转换 REST API 和 Ruby SDK

要将 EML 转换为 PDF 格式,我们将使用 GroupDocs.Conversion Cloud API 的 Ruby SDK。我们的云 API 允许您将 流行的支持文件格式 的文档转换为您需要的任何格式。您可以轻松转换 Word、PowerPoint, Excel、PDF、HTML 等 50 多种类型的文档。

您可以将 GroupDocs.Conversion 安装到您的 Ruby 应用程序中。在 Rails 控制台中使用以下命令使用 gem 将 EML 转换为 PDF:

gem install groupdocs_conversion_cloud

在继续之前,请在开始执行步骤和可用代码示例之前,从 仪表板 中快速 获取您的客户端 ID 和客户端密码。获得 ID 和密码后,请添加如下所示的代码:

# 免费注册后,从 https://dashboard.groupdocs.cloud 获取您的 client_id 和 client_secret。
# 在你的 ruby 应用程序中为 http://api.groupdocs.cloud 加载 gem

require 'groupdocs_conversion_cloud'
@client_id = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
@client_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

在 Ruby 中使用 REST API 将 EML 文件转换为 PDF

按照以下提到的步骤,只需几行代码即可将 EML 文件转换为 PDF。

  • 创建 ConvertApi 的实例
  • 创建 ConvertSettings 的实例
  • 将输入 eml 文件路径和输出文件格式设置为“pdf”
  • 将输出文件路径提供为“email-message-format”
  • 使用 ConvertSettings 创建 ConvertDocumentRequest
  • 最后,用 ConvertDocumentRequest 调用 convert\document() 方法

以下 Ruby 代码遵循上述步骤并将电子邮件 EML 格式转换为 PDF 文件:

# 如何使用 REST API 将 EML(例如雷鸟)电子邮件转换为 PDF
# 创建转换 API 的实例
@fileApi = GroupDocsConversionCloud::ConvertApi.from_keys(@client_id, @client_secret)

# 创建转换文件设置实例
settings = GroupDocsConversionCloud::ConvertSettings.new
settings.file_path = "email-message-format/test_sample_message.eml"
settings.format = "pdf"
settings.output_path = "email-message-format"

# 将 EML 转换为 PDF 文件 
result = @fileApi.convert_document(GroupDocsConversionCloud::ConvertDocumentRequest.new(settings))
puts("Successfully converted EML file to PDF file.")

使用 Ruby 中的高级选项将 EML 转换为 PDF

通过设置加载选项以及定义要在转换后的 PDF 中显示或隐藏的字段,可以将 EML 文件转换为 PDF。

  • 首先,创建 ConvertApi 的实例
  • 现在,使用 ConvertSettings 创建 ConvertDocumentRequest
  • 设置输入 eml 文件路径和输出文件格式为“pdf”
  • 现在,创建 EmlLoadOptions 的实例
  • 设置 display\header, display\email\address and preserve\original\date loadOptions
  • 接下来,创建 PdfConvertOptions 的实例
  • 然后,设置各种转换选项,如中心\窗口、显示\文档\标题、边距、图像\质量和其他选项,如下所示。
  • 提供加载\选项、转换\选项和输出\路径设置。
  • 使用 ConvertSettings 创建 ConvertDocumentRequest
  • 最后,用 ConvertDocumentRequest 调用 convert\document() 方法

以下 Ruby 代码遵循上述步骤并将电子邮件 EML 文件转换为 PDF 格式。现在,您还可以选择隐藏或显示电子邮件的不同字段:

# 如何使用高级选项在 Ruby 中将 EML 转换为 PDF 文件 
# 创建转换 API 的实例
@fileApi = GroupDocsConversionCloud::ConvertApi.from_keys(@client_id, @client_secret)

# 设置 ConvertSettings 实例
settings = GroupDocsConversionCloud::ConvertSettings.new
settings.file_path = "email-message-format/test_sample_message.eml"
settings.format = "pdf"

# 设置 EML 加载选项
loadOptions = GroupDocsConversionCloud::EmlLoadOptions.new
# 将不同的字段设置为可见或隐藏
loadOptions.display_header = true
loadOptions.display_email_address = true
loadOptions.display_to_email_address = true
loadOptions.display_cc_email_address = true
loadOptions.display_bcc_email_address = true

# 根据使用高级选项将 EML 转换为 PDF
convertOptions = GroupDocsConversionCloud::PdfConvertOptions.new
convertOptions.center_window = true
convertOptions.compress_images = false
convertOptions.display_doc_title = true
convertOptions.dpi = 1024.0
convertOptions.fit_window = false
convertOptions.from_page = 1
convertOptions.grayscale = false
convertOptions.image_quality = 100
convertOptions.linearize = false
convertOptions.margin_top = 5
convertOptions.margin_left = 5
convertOptions.password = "password"
convertOptions.unembed_fonts = true
convertOptions.remove_unused_streams = true
convertOptions.remove_unused_objects = true
convertOptions.remove_pdfa_compliance = false
 
settings.load_options = loadOptions
settings.convert_options = convertOptions
settings.output_path = "email-message-format"
 
# 最后,将 EML 转换为 PDF 
result = @fileApi.convert_document(GroupDocsConversionCloud::ConvertDocumentRequest.new(settings))
puts("Successfully converted EML file to PDF document using advance options.")

在线 EML 到 PDF 转换器

如何在线将 EML 文件转换为 PDF?请尝试以下免费的在线 EML 到 PDF 转换工具,它是使用上述 API 开发的。

结论

在本文中,我们学习了如何:

  • 在云端以编程方式将 EML 文件转换为 PDF;
  • 使用 Ruby REST API 中的高级选项将 EML 格式转换为 PDF;

您可以从 文档 了解有关 GroupDocs.Conversion Cloud API 的更多信息。我们还有一个 API 参考 部分,可让您直接通过浏览器可视化我们的 API 并与之通信。

问一个问题

如果您对 EML 到 PDF 转换器有任何疑问,请随时在 免费支持论坛 上向我们提问。

也可以看看