使用 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 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看