В некоторых случаях нам может потребоваться преобразовать наши электронные письма и сообщения Outlook в документы PDF. Такое преобразование позволяет нам вести учет важных электронных писем или делиться ими в портативной форме. Мы также можем программно преобразовать документы, прикрепленные к электронным письмам, в документы PDF. В этой статье мы узнаем, как конвертировать электронные письма и файлы MSG в документы PDF с помощью REST API в PHP.
В этой статье должны быть раскрыты следующие темы:
- Преобразование электронной почты в PDF REST API и PHP SDK
- Преобразование электронных писем в PDF в PHP
- Преобразование Outlook MSG в PDF в PHP
- Как преобразовать вложения электронной почты в PDF в PHP
Преобразование электронной почты в PDF REST API и PHP SDK
Для преобразования файлов EML и MSG в документы PDF мы будем использовать API PHP SDK of GroupDocs.Conversion Cloud. Это позволяет нам легко конвертировать документы и изображения любого поддерживаемого формата файлов в любой требуемый формат. Пожалуйста, установите его с помощью следующей команды в консоли:
composer require groupdocscloud/groupdocs-conversion-cloud
После установки используйте autoload Composers, чтобы использовать SDK, как показано ниже:
require_once('vendor/autoload.php');
Пожалуйста, получите свой идентификатор клиента и секрет на панели управления, прежде чем выполнять указанные шаги. Получив свой идентификатор и секрет, добавьте код, как показано ниже:
// В следующем примере кода показано, как добавить идентификатор и секрет клиента в код.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';
Преобразование электронных писем в PDF с помощью REST API в PHP
Мы можем легко конвертировать электронные письма в 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);
В результате загруженный файл будет доступен в разделе файлов панели инструментов в облаке.
Преобразование EML в PDF в PHP
Теперь мы преобразуем электронные письма из загруженного файла EML в документ PDF, выполнив следующие действия:
- Во-первых, создайте экземпляр ConvertApi.
- Затем укажите путь к загруженному файлу EML, формат преобразования и путь к выходному файлу.
- Затем установите различные EmlLoadOptions, такие как setDisplayHeader, setDisplayEmailAddress и т. д.
- При желании установите различные PdfConvertOptions, такие как setCenterWindow, setMarginTop, setMarginLeft и т. д.
- После этого создайте ConvertDocumentRequest с ConvertSettings в качестве аргумента.
- Наконец, преобразуйте EML с помощью метода convertDocument() с ConvertDocumentRequest.
В следующем примере кода показано, как преобразовать файл EML в документ PDF с помощью REST API в PHP.
// В этом примере кода показано, как преобразовать EML в PDF на PHP.
// Настройка конфигураций
$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);
Преобразование Outlook MSG в PDF с использованием REST API в PHP
Мы можем преобразовать файлы Outlook MSG в документы PDF, выполнив следующие действия:
- Во-первых, создайте экземпляр ConvertApi.
- Затем укажите путь к загруженному файлу MSG, формат преобразования и путь к выходному файлу.
- Затем установите различные MsgLoadOptions, такие как setDisplayCcEmailAddress и т. д.
- При желании установите различные PdfConvertOptions, такие как setCenterWindow, setMarginTop, setMarginLeft и т. д.
- После этого создайте ConvertDocumentRequest с ConvertSettings в качестве аргумента.
- Наконец, конвертируйте MSG в PDF с помощью метода convertDocument() с ConvertDocumentRequest.
В следующем примере кода показано, как преобразовать файл MSG в документ PDF с помощью REST API в PHP. Пожалуйста, следуйте шагам, упомянутым ранее, чтобы загрузить и скачать файл.
// В этом примере кода показано, как преобразовать MSG в PDF на PHP.
// Настройка конфигураций
$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();
Как преобразовать вложения электронной почты в PDF в PHP
Мы также можем программно конвертировать вложения электронной почты в документы PDF, выполнив следующие действия:
- Во-первых, создайте экземпляр ConvertApi.
- Затем укажите путь к загруженному файлу MSG, формат преобразования и путь к выходному файлу.
- Создайте экземпляр MsgLoadOptions
- Установите для свойства convertAttachments значение true
- После этого создайте ConvertDocumentRequest с ConvertSettings в качестве аргумента.
- Наконец, преобразуйте EML с помощью метода convertDocument() с ConvertDocumentRequest.
В следующем примере кода показано, как преобразовать вложения электронной почты в документ PDF с помощью REST API в PHP. Пожалуйста, следуйте шагам, упомянутым ранее, чтобы загрузить и скачать файл.
// В этом примере кода показано, как преобразовать вложения электронной почты в PDF в PHP.
// Настройка конфигураций
$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();
Попробуйте онлайн
Пожалуйста, попробуйте следующие бесплатные онлайн-инструменты преобразования EML в PDF и MSG в PDF, которые разработаны с использованием вышеуказанного API.
- https://products.groupdocs.app/conversion/eml-to-pdf
- https://products.groupdocs.app/conversion/msg-to-pdf
Заключение
В этой статье мы узнали:
- как конвертировать EML в PDF с помощью PHP;
- как преобразовать файл Outlook MSG в документ PDF;
- Сохраняйте вложения электронной почты в формате PDF в PHP;
- как программно загрузить файл EML в облако;
- как скачать файл PDF из облака.
Кроме того, вы можете узнать больше о GroupDocs.Conversion Cloud API, воспользовавшись документацией. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.