使用 Node.js 将电子邮件和 Outlook 消息转换为 PDF

您可以使用云上的 Node.js 轻松地将您的电子邮件和 Outlook 消息转换为 PDF 文档。将电子邮件和 Outlook 消息转换为 PDF 使您能够以便携形式保存记录或共享重要的电子邮件和附件。作为 Node.js 开发人员,您可以通过编程将 EML 和 MSG 文件转换为 PDF 文档。在本文中,您将学习如何使用 Node.js 中的 REST API 将 EML 和 MSG 文件转换为 PDF 文档。

本文应涵盖以下主题:

EML 到 PDF 转换 REST API 和 Node.js SDK

为了将 EMLMSG 文件转换为 PDF,我将使用 GroupDocs.Conversion Cloud 的 Node.js SDK API。它是一个独立于平台的文档和图像转换解决方案。它允许您将任何 支持的文件格式 的文档和图像无缝转换为您需要的任何格式。 Word、PowerPoint, Excel、PDF、HTML、CAD、光栅图像等50多种文档和图像之间轻松转换。它还提供.NET、Java、PHP、Ruby、Android和Python SDK作为其文档转换家族成员 为 Cloud API。

您可以在控制台中使用以下命令将 GroupDocs.Conversion Cloud 安装到您的 Node.js 项目:

npm install groupdocs-conversion-cloud

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

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const config = new groupdocs_conversion_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

在 Node.js 中使用 REST API 将 EML 转换为 PDF

您可以按照以下简单步骤在云端以编程方式将电子邮件转换为 PDF 文档:

  1. 上传EML文件到云端
  2. 使用 Node.js 将 EML 转换为 PDF
  3. 下载转换后的PDF文件

上传 EML 文件

首先,使用以下代码示例将 EML 文件上传到云端:

// 从本地/光盘打开 IOStream 中的文件。
var resourcesFolder = 'C:\\Files\\sample.eml';
// 读取文件
fs.readFile(resourcesFolder, (err, fileStream) => {
  // 构建FileApi
  var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
  // 创建上传文件请求
  var request = new groupdocs_conversion_cloud.UploadFileRequest("sample.eml", fileStream, myStorage);
  // 上传文件
  fileApi.uploadFile(request);
});

因此,上传的 EML 文件将在云端仪表板的 文件部分 中可用。

使用 Node.js 将 EML 转换为 PDF

您可以按照以下步骤以编程方式轻松地将电子邮件从 EML 文件转换为 PDF 文档:

  • 创建 ConvertApi 的实例
  • 创建 ConvertSettings 的实例
  • 设置 EML 文件路径
  • 将“pdf”分配给格式
  • 创建 EmlLoadOptions 的实例
  • 设置各种属性,如 displayHeader、displayEmailAddress 等。
  • 将 EmlLoadOptions 分配给 ConvertSettings
  • 创建 PdfConvertOptions 的实例
  • 设置各种属性,如 centerWindow、MarginTop、MarginLeft 等。
  • 将 PdfConvertOptions 分配给 ConvertSettings
  • 提供输出文件路径
  • 使用 ConvertSettings 创建 ConvertDocumentRequest
  • 通过使用 ConvertDocumentRequest 调用 convertDocument() 方法进行转换

以下代码示例展示了如何在 Node.js 中使用 REST API 将 EML 文件转换为 PDF 文档。

// 初始化转换接口
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// 定义转换设置
var settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.storageName = myStorage;
settings.filePath = "sample.eml"; // input file
settings.format = "pdf";          // output format

// 定义 eml 加载选项
var loadOptions = new groupdocs_conversion_cloud.EmlLoadOptions();
loadOptions.displayHeader = true;           // display email header
loadOptions.displayFromEmailAddress = true; // display "from" email address
loadOptions.displayToEmailAddress = true;   // display "to" email address
loadOptions.displayEmailAddress = true;     // display email address
loadOptions.displayCcEmailAddress = true;   // display "cc" email address
loadOptions.displayBccEmailAddress = true;  // display "bcc" email address

settings.loadOptions = loadOptions;

// 定义 pdf 转换选项
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.centerWindow = true;	// set position of the document's window. Default: false.
convertOptions.marginTop = 50;			// top margin
convertOptions.marginLeft = 50;			// left margin

settings.convertOptions = convertOptions;
settings.outputPath = "output.pdf";

// 创建转换文档请求
var request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
// 转换文档
convertApi.convertDocument(request);
console.log("Document converted successfully: " + response[0].url);
在 Node.js 中使用 REST API 将 EML 转换为 PDF

在 Node.js 中使用 REST API 将 EML 转换为 PDF

下载转换后的文件

上面的代码示例会将转换后的 PDF 文件保存在云端。您可以使用以下代码示例下载它:

// 构造FileApi
var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);

// 创建下载文件请求
let request = new groupdocs_conversion_cloud.DownloadFileRequest("output.pdf", myStorage);

// 下载文件
let response = await fileApi.downloadFile(request);

// 保存在你的工作目录
fs.writeFile("C:\\Files\\output.pdf", response, "binary", function (err) { });
console.log(response);

在 Node.js 中使用 REST API 将 MSG 转换为 PDF

您可以按照下面提到的步骤以编程方式轻松地将 Outlook MSG 文件转换为 PDF 文档:

  • 创建 ConvertApi 的实例
  • 创建 ConvertSettings 的实例
  • 设置 MSG 文件路径
  • 将“pdf”分配给格式
  • 提供输出文件路径
  • 创建 MsgLoadOptions 的实例
  • 设置各种属性,例如 displayCcEmailAddress、displayBccEmailAddress 等。
  • 将加载选项分配给 ConvertSettings
  • 使用 ConvertSettings 创建 ConvertDocumentRequest
  • 通过使用 ConvertDocumentRequest 调用 convertDocument() 方法进行转换

以下代码示例展示了如何在 Node.js 中使用 REST API 将 MSG 文件转换为 PDF 文档。请按照前面提到的步骤上传和下载文件。

// 初始化转换接口
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// 定义转换设置
var settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.storageName = myStorage;
settings.filePath = "sample.msg"; // input file
settings.format = "pdf";          // output format

// 定义 eml 加载选项
var loadOptions = new groupdocs_conversion_cloud.MsgLoadOptions();
loadOptions.displayCcEmailAddress = false;   // display "cc" email address
loadOptions.displayBccEmailAddress = false;  // display "bcc" email address

settings.loadOptions = loadOptions;
settings.outputPath = "output.pdf";

// 创建转换文档请求
var request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
// 转换文档
convertApi.convertDocument(request);
console.log("Document converted successfully: " + response[0].url);
在 Node.js 中使用 REST API 将 MSG 转换为 PDF

在 Node.js 中使用 REST API 将 MSG 转换为 PDF

在 Node.js 中使用 REST API 将电子邮件附件转换为 PDF

您可以按照下面提到的步骤以编程方式轻松地将电子邮件附件转换为 PDF 文档:

  • 创建 ConvertApi 的实例
  • 创建 ConvertSettings 的实例
  • 设置 MSG 文件路径
  • 将“pdf”分配给格式
  • 提供输出文件路径
  • 创建 MsgLoadOptions 的实例
  • 将 convertAttachments 属性设置为 true
  • 将加载选项分配给 ConvertSettings
  • 使用 ConvertSettings 创建 ConvertDocumentRequest
  • 通过使用 ConvertDocumentRequest 调用 convertDocument() 方法进行转换

以下代码示例展示了如何使用 Node.js 中的 REST API 将电子邮件附件转换为 PDF 文档。请按照前面提到的步骤上传和下载文件。

// 初始化转换接口
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// 定义转换设置
var settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.storageName = myStorage;
settings.filePath = "sample.msg"; // input file
settings.format = "pdf";          // output format
settings.outputPath = "output.pdf";

// 定义 eml 加载选项
var loadOptions = new groupdocs_conversion_cloud.MsgLoadOptions();
loadOptions.convertAttachments = true;

settings.loadOptions = loadOptions;

// 创建转换文档请求
var request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
// 转换文档
convertApi.convertDocument(request);
console.log("Document converted successfully: " + response[0].url);
在 Node.js 中使用 REST API 将电子邮件附件转换为 PDF

在 Node.js 中使用 REST API 将电子邮件附件转换为 PDF

在线试用

请试用以下免费的在线 EML 到 PDF 和 MSG 到 PDF 转换工具,这些工具是使用上述 API 开发的。

结论

在本文中,您了解了如何在云端使用 Node.js 将电子邮件和 Outlook 消息转换为 PDF 文档。您还学习了如何使用 Node.js 将 Outlook MSG 文件转换为 PDF 文档。此外,您还学习了如何以编程方式将电子邮件附件转换为 PDF 文档。本文还介绍了如何以编程方式将 EML 文件上传到云端,然后从云端下载转换后的 PDF 文件。您可以使用 文档 了解有关 GroupDocs.Conversion Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。

也可以看看