Convierta correos electrónicos a PDF usando REST API en PHP.

En ciertos casos, es posible que necesitemos convertir nuestros correos electrónicos y mensajes de Outlook a documentos PDF. Dicha conversión nos permite mantener un registro de correos electrónicos importantes o compartirlos de forma portátil. También podemos convertir los documentos adjuntos en correos electrónicos a documentos PDF mediante programación. En este artículo, aprenderemos cómo convertir correos electrónicos y archivos MSG a documentos PDF utilizando una API REST en PHP.

En este artículo se tratarán los siguientes temas:

Conversión de correo electrónico a PDF REST API y PHP SDK

Para convertir archivos EML y MSG a documentos PDF, utilizaremos la API PHP SDK de GroupDocs.Conversion Cloud. Nos permite convertir sin problemas documentos e imágenes de cualquier formato de archivo compatible a cualquier formato que necesitemos. Instálalo usando el siguiente comando en la consola:

composer require groupdocscloud/groupdocs-conversion-cloud

Después de la instalación, use la carga automática de los compositores para usar el SDK como se muestra a continuación:

require_once('vendor/autoload.php'); 

Por favor, obtenga su ID de cliente y secreto del tablero antes de seguir los pasos mencionados. Una vez que tenga su ID y secreto, agregue el código como se muestra a continuación:

// El siguiente ejemplo de código muestra cómo agregar la identificación y el secreto del cliente en el código
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

Convierta correos electrónicos a PDF usando una API REST en PHP

Podemos convertir fácilmente correos electrónicos a documentos PDF mediante programación en la nube siguiendo los sencillos pasos que se detallan a continuación:

  1. Subir el archivo EML a la nube
  2. Convertir EML a PDF
  3. Descargar el archivo PDF convertido

Cargue el archivo EML

En primer lugar, cargaremos el archivo EML en la nube utilizando el siguiente código de ejemplo:

// Este ejemplo de código muestra cómo cargar un archivo EML en la nube.
// Establecer las configuraciones
$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, el archivo cargado estará disponible en la sección de archivos del tablero en la nube.

Convertir EML a PDF en PHP

Ahora, convertiremos los correos electrónicos del archivo EML cargado en un documento PDF siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cree una instancia de ConvertApi.
  • A continuación, proporcione la ruta del archivo EML cargado, el formato de conversión y la ruta del archivo de salida.
  • Luego, configure varias EmlLoadOptions como setDisplayHeader, setDisplayEmailAddress, etc.
  • Opcionalmente, configure varias PdfConvertOptions como setCenterWindow, setMarginTop, setMarginLeft, etc.
  • Después de eso, cree ConvertDocumentRequest con ConvertSettings como argumento.
  • Finalmente, convierta EML utilizando el método convertDocument() con ConvertDocumentRequest.

El siguiente ejemplo de código muestra cómo convertir un archivo EML en un documento PDF utilizando una API REST en PHP.

// Este ejemplo de código demuestra cómo convertir EML a PDF en PHP.
// Establecer las configuraciones
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

// Cree la nueva instancia de ConversionAPI
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// Definir la configuración de conversión
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.eml");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedEML.pdf");

// Definir las opciones de carga de 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 opciones de conversión 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);

// Crear solicitud de conversión
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// Convertir documento
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
Convierta EML a PDF usando una API REST en PHP

Convierta EML a PDF utilizando una API REST en PHP.

Descargar el archivo convertido

El ejemplo de código anterior guardará el archivo PDF convertido en la nube. Se puede descargar usando el siguiente ejemplo de código:

// Este ejemplo de código demuestra cómo descargar PDF desde la nube.
// Establecer las configuraciones
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);

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

// Crear solicitud de descarga
$request = new GroupDocs\Conversion\Model\Requests\DownloadFileRequest("convertedEML.pdf", self::$MyStorage, null);

// Descargar archivo
$response = $apiInstance->downloadFile($request);

Conversión de Outlook MSG a PDF usando REST API en PHP

Podemos convertir archivos MSG de Outlook a documentos PDF siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cree una instancia de ConvertApi.
  • A continuación, proporcione la ruta del archivo MSG cargado, el formato de conversión y la ruta del archivo de salida.
  • Luego, configure varias MsgLoadOptions como setDisplayCcEmailAddress, etc.
  • Opcionalmente, configure varias PdfConvertOptions como setCenterWindow, setMarginTop, setMarginLeft, etc.
  • Después de eso, cree ConvertDocumentRequest con ConvertSettings como argumento.
  • Finalmente, convierta MSG a PDF usando el método convertDocument() con ConvertDocumentRequest.

El siguiente ejemplo de código muestra cómo convertir un archivo MSG en un documento PDF utilizando una API REST en PHP. Siga los pasos mencionados anteriormente para cargar y descargar un archivo.

// Este ejemplo de código demuestra cómo convertir MSG a PDF en PHP.
// Establecer las configuraciones
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

// Cree la nueva instancia de ConversionAPI
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// Definir la configuración de conversión
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.msg");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedMSG.pdf");

// Definir las opciones de carga de MSG
$loadOptions = new GroupDocs\Conversion\Model\MsgLoadOptions();
$loadOptions->setDisplayCcEmailAddress(true);
$loadOptions->setDisplayBccEmailAddress(true);
$settings->setLoadOptions($loadOptions);

// Crear solicitud de conversión
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// Convertir documento
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
Conversión de Outlook MSG a PDF usando REST API en PHP.

Conversión de Outlook MSG a PDF usando REST API en PHP.

Cómo convertir archivos adjuntos de correo electrónico a PDF en PHP

También podemos convertir archivos adjuntos de correo electrónico a documentos PDF mediante programación siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cree una instancia de ConvertApi.
  • A continuación, proporcione la ruta del archivo MSG cargado, el formato de conversión y la ruta del archivo de salida.
  • Crear una instancia de MsgLoadOptions
  • Establezca la propiedad convertAttachments en verdadero
  • Después de eso, cree ConvertDocumentRequest con ConvertSettings como argumento.
  • Finalmente, convierta EML usando el método convertDocument() con ConvertDocumentRequest.

El siguiente ejemplo de código muestra cómo convertir archivos adjuntos de correo electrónico en un documento PDF mediante una API REST en PHP. Siga los pasos mencionados anteriormente para cargar y descargar un archivo.

// Este ejemplo de código demuestra cómo convertir archivos adjuntos de correo electrónico a PDF en PHP.
// Establecer las configuraciones
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);

// Crear instancia de ConversionAPI
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// Definir la configuración de conversión
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("Msg_with_attachments.msg");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedAttachments.pdf");

// Definir las opciones de carga de MSG
$loadOptions = new GroupDocs\Conversion\Model\MsgLoadOptions();
$loadOptions->setConvertAttachments(true);

// Crear solicitud de documento
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// Convertir documento
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
Cómo convertir archivos adjuntos de correo electrónico a PDF en PHP

Convierta archivos adjuntos de correo electrónico a PDF en PHP.

Prueba en línea

Pruebe las siguientes herramientas gratuitas en línea de conversión de EML a PDF y de MSG a PDF, que se desarrollan utilizando la API anterior.

Conclusión

En este artículo hemos aprendido:

  • cómo convertir EML a PDF usando PHP;
  • cómo convertir un archivo MSG de Outlook a un documento PDF;
  • Guarde los archivos adjuntos de correo electrónico como PDF en PHP;
  • cómo cargar mediante programación un archivo EML a la nube;
  • cómo descargar archivos PDF desde la nube.

Además, puede obtener más información sobre GroupDocs.Conversion Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también