PHP の REST API を使用して電子メールを PDF に変換します。

場合によっては、電子メールや Outlook メッセージを PDF ドキュメントに変換する必要がある場合があります。このような変換により、重要な電子メールの記録を保存したり、ポータブルな形式で共有したりすることができます。電子メールに添付されたドキュメントをプログラム的に PDF ドキュメントに変換することもできます。この記事では、PHP の REST API を使用して電子メールと MSG ファイルを PDF ドキュメントに変換する方法を学びます。

この記事では次のトピックについて説明します。

電子メールから PDF への変換 REST API および PHP SDK

EML および MSG ファイルを PDF ドキュメントに変換するには、GroupDocs.Conversion Cloud の PHP SDK API を使用します。これにより、サポートされているファイル形式 のドキュメントと画像を必要な形式にシームレスに変換できます。コンソールで次のコマンドを使用してインストールしてください。

composer require groupdocscloud/groupdocs-conversion-cloud

インストール後、以下に示すように Composers の autoload を使用して SDK を使用してください。

require_once('vendor/autoload.php'); 

上記の手順に従う前に、ダッシュボードからクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。

// 次のコード例は、コードにクライアント ID とシークレットを追加する方法を示しています。
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

PHP の REST API を使用してメールを PDF に変換する

以下に示す簡単な手順に従って、クラウド上でプログラムによって電子メールを PDF ドキュメントに簡単に変換できます。

  1. EMLファイルをクラウドにアップロード
  2. EML を PDF に変換
  3. ダウンロード変換されたPDFファイル

EMLファイルをアップロードする

まず、次のコードサンプルを使用して、EML ファイルをクラウドにアップロードします。

// このコード サンプルは、EML ファイルをクラウドにアップロードする方法を示します。
// 構成の設定
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);

// APIの初期化
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

$file = "C:\\Files\\Conversion\\email\\sample.eml";
$request = new GroupDocs\Conversion\Model\Requests\UploadFileRequest("sample.eml", $file, self::$MyStorage, null);
$response = $apiInstance->uploadFile($request);

その結果、アップロードされたファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。

PHP で EML を PDF に変換

次に、以下の手順に従って、アップロードされた EML ファイルから電子メールを PDF ドキュメントに変換します。

  • まず、ConvertApi のインスタンスを作成します。
  • 次に、アップロードされた EML ファイルのパス、変換形式、および出力ファイルのパスを指定します。
  • 次に、setDisplayHeader、setDisplayEmailAddress などのさまざまな EmlLoadOptions を設定します。
  • 必要に応じて、setCenterWindow、setMarginTop、setMarginLeft などのさまざまな PdfConvertOptions を設定します。
  • その後、ConvertSettings を引数として ConvertDocumentRequest を作成します。
  • 最後に、ConvertDocumentRequest で convertDocument() メソッドを使用して EML を変換します。

次のコード サンプルは、PHP の REST API を使用して EML ファイルを PDF ドキュメントに変換する方法を示しています。

// このコード例は、PHP で EML を PDF に変換する方法を示します。
// 構成の設定
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

// 新しい ConversionAPI インスタンスを作成する
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// 変換設定を定義する
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.eml");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedEML.pdf");

// EML ロード オプションを定義する
$loadOptions = new GroupDocs\Conversion\Model\EmlLoadOptions();
$loadOptions->setDisplayHeader(true);
$loadOptions->setDisplayFromEmailAddress(true);
$loadOptions->setDisplayToEmailAddress(true);
$loadOptions->setDisplayEmailAddress(true);
$loadOptions->setDisplayCcEmailAddress(true);
$loadOptions->setDisplayBccEmailAddress(true);
$settings->setLoadOptions($loadOptions);

// PDF 変換オプションを定義する
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setCenterWindow(true);
$convertOptions->setMarginTop(50);
$convertOptions->setMarginLeft(50);
$convertOptions->setMarginRight(50);
$convertOptions->setMarginBottom(50);
$settings->setConvertOptions($convertOptions);

// 変換リクエストの作成
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// ドキュメントを変換する
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
PHP の REST API を使用して EML を PDF に変換する

PHP の REST API を使用して EML を PDF に変換します。

変換されたファイルをダウンロードする

上記のコードサンプルは、変換された PDF ファイルをクラウド上に保存します。次のコードサンプルを使用してダウンロードできます。

// このコード例は、クラウドから PDF をダウンロードする方法を示しています。
// 構成の設定
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);

// APIの初期化
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

// ダウンロードリクエストの作成
$request = new GroupDocs\Conversion\Model\Requests\DownloadFileRequest("convertedEML.pdf", self::$MyStorage, null);

// ダウンロードファイル
$response = $apiInstance->downloadFile($request);

PHP の REST API を使用した Outlook MSG から PDF への変換

以下の手順に従って、Outlook MSG ファイルを PDF ドキュメントに変換できます。

  • まず、ConvertApi のインスタンスを作成します。
  • 次に、アップロードされた MSG ファイルのパス、変換形式、および出力ファイルのパスを指定します。
  • 次に、setDisplayCcEmailAddress などのさまざまな MsgLoadOptions を設定します。
  • 必要に応じて、setCenterWindow、setMarginTop、setMarginLeft などのさまざまな PdfConvertOptions を設定します。
  • その後、ConvertSettings を引数として ConvertDocumentRequest を作成します。
  • 最後に、ConvertDocumentRequest で convertDocument() メソッドを使用して MSG を PDF に変換します。

次のコード サンプルは、PHP の REST API を使用して MSG ファイルを PDF ドキュメントに変換する方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。

// このコード例は、PHP で MSG を PDF に変換する方法を示します。
// 構成の設定
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

// 新しい ConversionAPI インスタンスを作成する
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// 変換設定を定義する
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.msg");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedMSG.pdf");

// MSG ロード オプションを定義する
$loadOptions = new GroupDocs\Conversion\Model\MsgLoadOptions();
$loadOptions->setDisplayCcEmailAddress(true);
$loadOptions->setDisplayBccEmailAddress(true);
$settings->setLoadOptions($loadOptions);

// 変換リクエストの作成
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// ドキュメントを変換する
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
PHP の REST API を使用した Outlook MSG から PDF への変換。

PHP の REST API を使用した Outlook MSG から PDF への変換。

PHP で電子メールの添付ファイルを PDF に変換する方法

以下の手順に従って、電子メールの添付ファイルをプログラムで PDF ドキュメントに変換することもできます。

  • まず、ConvertApi のインスタンスを作成します。
  • 次に、アップロードされた MSG ファイルのパス、変換形式、および出力ファイルのパスを指定します。
  • MsgLoadOptions のインスタンスを作成する
  • ConvertAttachments プロパティを true に設定します。
  • その後、ConvertSettings を引数として ConvertDocumentRequest を作成します。
  • 最後に、ConvertDocumentRequest で convertDocument() メソッドを使用して EML を変換します。

次のコード サンプルは、PHP の REST API を使用して電子メールの添付ファイルを PDF ドキュメントに変換する方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。

// このコード例は、PHP で電子メールの添付ファイルを PDF に変換する方法を示します。
// 構成の設定
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);

// ConversionAPI インスタンスの作成
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// 変換設定を定義する
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("Msg_with_attachments.msg");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedAttachments.pdf");

// MSG ロード オプションを定義する
$loadOptions = new GroupDocs\Conversion\Model\MsgLoadOptions();
$loadOptions->setConvertAttachments(true);

// 資料請求の作成
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// ドキュメントを変換する
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
PHP で電子メールの添付ファイルを PDF に変換する方法

PHP で電子メールの添付ファイルを PDF に変換します。

オンラインで試す

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

結論

この記事では、次のことを学びました。

  • PHP を使用して EML を PDF に変換する方法;
  • Outlook MSG ファイルを PDF ドキュメントに変換する方法;
  • 電子メールの添付ファイルを PHP で PDF として保存します。
  • EML ファイルをプログラムでクラウドにアップロードする方法。
  • クラウドからPDFファイルをダウンロードする方法。

さらに、GroupDocs.Conversion Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて直接 API を視覚化し操作できるようにする API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目