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

EML および MSG ファイルを 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 ドキュメントに変換する方法を示しています。

// 変換APIを初期化する
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 ドキュメントに変換する方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。

// 変換APIを初期化する
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 ドキュメントに変換する方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。

// 変換APIを初期化する
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 に変換する

オンラインで試す

上記の API を使用して開発された、次の無料のオンライン EML から PDF および MSG から PDF への変換ツールをお試しください。

結論

この記事では、クラウド上で Node.js を使用して電子メールと Outlook メッセージを PDF ドキュメントに変換する方法を学習しました。 Node.js を使用して Outlook MSG ファイルを PDF ドキュメントに変換する方法も学習しました。さらに、電子メールの添付ファイルをプログラムで PDF ドキュメントに変換する方法を学習しました。この記事では、プログラムによって EML ファイルをクラウドにアップロードし、変換された PDF ファイルをクラウドからダウンロードする方法についても説明しました。 GroupDocs.Conversion Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて API を直接視覚化して操作できる API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目