Converta e-mails em PDF usando a API REST em PHP.

Em certos casos, podemos precisar converter nossos e-mails e mensagens do Outlook em documentos PDF. Essa conversão nos permite manter um registro de e-mails importantes ou compartilhá-los de forma portátil. Também podemos converter os documentos anexados em e-mails em documentos PDF programaticamente. Neste artigo, aprenderemos como converter e-mails e arquivos MSG em documentos PDF usando uma API REST em PHP.

Os seguintes tópicos serão abordados neste artigo:

API REST de conversão de e-mail para PDF e SDK PHP

Para converter arquivos EML e MSG em documentos PDF, usaremos a API PHP SDK of GroupDocs.Conversion Cloud. Ele nos permite converter facilmente documentos e imagens de qualquer formato de arquivo suportado para qualquer formato que exigimos. Instale-o usando o seguinte comando no console:

composer require groupdocscloud/groupdocs-conversion-cloud

Após a instalação, use o autoload dos compositores para usar o SDK conforme mostrado abaixo:

require_once('vendor/autoload.php'); 

Por favor, obtenha seu ID e Segredo do cliente no painel antes de seguir as etapas mencionadas. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

// O exemplo de código a seguir demonstra como adicionar ID e segredo do cliente no código
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

Converta e-mails em PDF usando uma API REST em PHP

Podemos facilmente converter e-mails em documentos PDF de forma programática na nuvem, seguindo as etapas simples abaixo:

  1. Upload o arquivo EML para a nuvem
  2. Converter EML para PDF
  3. Baixe o arquivo PDF convertido

Carregar o arquivo EML

Em primeiro lugar, faremos o upload do arquivo EML para a nuvem usando o seguinte exemplo de código:

// Este exemplo de código demonstra como fazer upload de um arquivo EML para a nuvem.
// Definindo as configurações
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);

// Inicializar 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);

Como resultado, o arquivo carregado estará disponível na seção de arquivos do painel na nuvem.

Converter EML para PDF em PHP

Agora, converteremos e-mails do arquivo EML carregado em um documento PDF seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do ConvertApi.
  • Em seguida, forneça o caminho do arquivo EML carregado, o formato de conversão e o caminho do arquivo de saída.
  • Em seguida, defina várias EmlLoadOptions, como setDisplayHeader, setDisplayEmailAddress, etc.
  • Opcionalmente, defina várias PdfConvertOptions como setCenterWindow, setMarginTop, setMarginLeft, etc.
  • Depois disso, crie ConvertDocumentRequest com ConvertSettings como argumento.
  • Finalmente, converta EML usando o método convertDocument() com ConvertDocumentRequest.

O exemplo de código a seguir mostra como converter um arquivo EML em um documento PDF usando uma API REST em PHP.

// Este exemplo de código demonstra como converter EML para PDF em PHP.
// Definindo as configurações
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

// Crie a nova instância de ConversionAPI
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// Definir configurações de conversão
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.eml");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedEML.pdf");

// Definir opções de carregamento 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);

// Definir opções de conversão de 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);

// Criar solicitação de conversão
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// Converter documento
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
Converter EML para PDF usando uma API REST em PHP

Converta EML em PDF usando uma API REST em PHP.

Baixe o arquivo convertido

O exemplo de código acima salvará o arquivo PDF convertido na nuvem. Ele pode ser baixado usando o seguinte exemplo de código:

// Este exemplo de código demonstra como baixar PDF da nuvem.
// Definindo as configurações
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);

// Inicializar API
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

// Criar solicitação de download
$request = new GroupDocs\Conversion\Model\Requests\DownloadFileRequest("convertedEML.pdf", self::$MyStorage, null);

// ⇬ Fazer download do arquivo
$response = $apiInstance->downloadFile($request);

Conversão MSG para PDF do Outlook usando API REST em PHP

Podemos converter arquivos MSG do Outlook em documentos PDF seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do ConvertApi.
  • Em seguida, forneça o caminho do arquivo MSG carregado, o formato de conversão e o caminho do arquivo de saída.
  • Em seguida, defina várias MsgLoadOptions, como setDisplayCcEmailAddress, etc.
  • Opcionalmente, defina várias PdfConvertOptions como setCenterWindow, setMarginTop, setMarginLeft, etc.
  • Depois disso, crie ConvertDocumentRequest com ConvertSettings como argumento.
  • Por fim, converta MSG em PDF usando o método convertDocument() com ConvertDocumentRequest.

O exemplo de código a seguir mostra como converter um arquivo MSG em um documento PDF usando uma API REST em PHP. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

// Este exemplo de código demonstra como converter MSG em PDF em PHP.
// Definindo as configurações
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

// Crie a nova instância de ConversionAPI
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// Definir configurações de conversão
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.msg");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedMSG.pdf");

// Definir opções de carregamento MSG
$loadOptions = new GroupDocs\Conversion\Model\MsgLoadOptions();
$loadOptions->setDisplayCcEmailAddress(true);
$loadOptions->setDisplayBccEmailAddress(true);
$settings->setLoadOptions($loadOptions);

// Criar solicitação de conversão
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// Converter documento
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
Conversão MSG para PDF do Outlook usando API REST em PHP.

Conversão MSG para PDF do Outlook usando API REST em PHP.

Como converter anexos de e-mail para PDF em PHP

Também podemos converter anexos de e-mail em documentos PDF programaticamente seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do ConvertApi.
  • Em seguida, forneça o caminho do arquivo MSG carregado, o formato de conversão e o caminho do arquivo de saída.
  • Crie uma instância do MsgLoadOptions
  • Defina a propriedade convertAttachments como true
  • Depois disso, crie ConvertDocumentRequest com ConvertSettings como argumento.
  • Por fim, converta EML usando o método convertDocument() com ConvertDocumentRequest.

O exemplo de código a seguir mostra como converter anexos de e-mail em um documento PDF usando uma API REST em PHP. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

// Este exemplo de código demonstra como converter anexos de e-mail em PDF em PHP.
// Definindo as configurações
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);

// Criar instância da API de conversão
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// Definir configurações de conversão
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("Msg_with_attachments.msg");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedAttachments.pdf");

// Definir opções de carregamento MSG
$loadOptions = new GroupDocs\Conversion\Model\MsgLoadOptions();
$loadOptions->setConvertAttachments(true);

// Criar solicitação de documento
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// Converter documento
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
Como converter anexos de e-mail para PDF em PHP

Converta anexos de e-mail para PDF em PHP.

Experimente on-line

Experimente as seguintes ferramentas de conversão on-line gratuitas de EML para PDF e MSG para PDF, que são desenvolvidas usando a API acima.

Conclusão

Neste artigo, aprendemos:

  • como converter EML para PDF usando PHP;
  • como converter arquivo MSG do Outlook em um documento PDF;
  • Salvar anexos de e-mail como PDF em PHP;
  • como fazer upload de arquivo EML programaticamente para a nuvem;
  • como baixar arquivo PDF da nuvem.

Além disso, você pode aprender mais sobre GroupDocs.Conversion Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também