場合によっては、電子メールや Outlook メッセージを PDF ドキュメントに変換する必要がある場合があります。このような変換により、重要な電子メールの記録を保存したり、ポータブルな形式で共有したりすることができます。電子メールに添付されたドキュメントをプログラム的に PDF ドキュメントに変換することもできます。この記事では、PHP の REST API を使用して電子メールと MSG ファイルを PDF ドキュメントに変換する方法を学びます。
この記事では次のトピックについて説明します。
- 電子メールから PDF への変換 REST API および PHP SDK
- PHP で電子メールを PDF に変換する
- PHP での Outlook MSG から PDF への変換
- PHP で電子メールの添付ファイルを 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 ドキュメントに簡単に変換できます。
- EMLファイルをクラウドにアップロード
- EML を PDF に変換
- ダウンロード変換された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();
変換されたファイルをダウンロードする
上記のコードサンプルは、変換された 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 で電子メールの添付ファイルを 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();
オンラインで試す
上記の API を使用して開発された、次の無料のオンライン EML から PDF および MSG から PDF への変換ツールをお試しください。
- https://products.groupdocs.app/conversion/eml-to-pdf
- https://products.groupdocs.app/conversion/msg-to-pdf
結論
この記事では、次のことを学びました。
- PHP を使用して EML を PDF に変換する方法;
- Outlook MSG ファイルを PDF ドキュメントに変換する方法;
- 電子メールの添付ファイルを PHP で PDF として保存します。
- EML ファイルをプログラムでクラウドにアップロードする方法。
- クラウドからPDFファイルをダウンロードする方法。
さらに、GroupDocs.Conversion Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて直接 API を視覚化し操作できるようにする API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。