Trong một số trường hợp nhất định, chúng tôi có thể cần chuyển đổi email và tin nhắn Outlook của mình thành tài liệu PDF. Việc chuyển đổi như vậy cho phép chúng tôi lưu giữ bản ghi các email quan trọng hoặc chia sẻ chúng ở dạng di động. Chúng tôi cũng có thể chuyển đổi tài liệu đính kèm trong email thành tài liệu PDF theo chương trình. Trong bài viết này, chúng ta sẽ tìm hiểu cách chuyển đổi email và tệp MSG thành tài liệu PDF bằng API REST trong PHP.
Các chủ đề sau đây sẽ được đề cập trong bài viết này:
- Chuyển đổi email sang PDF API REST và PHP SDK
- Chuyển đổi Email sang PDF trong PHP
- Chuyển đổi Outlook MSG sang PDF trong PHP
- Cách chuyển đổi tệp đính kèm email thành PDF trong PHP
Chuyển đổi email sang PDF API REST và PHP SDK
Để chuyển đổi các tệp EML và MSG thành tài liệu PDF, chúng tôi sẽ sử dụng API PHP SDK của GroupDocs.Conversion Cloud. Nó cho phép chúng tôi chuyển đổi liền mạch tài liệu và hình ảnh của bất kỳ định dạng tệp được hỗ trợ nào sang bất kỳ định dạng nào chúng tôi yêu cầu. Vui lòng cài đặt nó bằng lệnh sau trong bảng điều khiển:
composer require groupdocscloud/groupdocs-conversion-cloud
Sau khi cài đặt, vui lòng sử dụng Composers’ autoload để sử dụng SDK như hình bên dưới:
require_once('vendor/autoload.php');
Vui lòng lấy Client ID và Secret của bạn từ bảng điều khiển trước khi làm theo các bước được đề cập. Khi bạn có ID và bí mật của mình, hãy thêm mã như hình bên dưới:
// Ví dụ mã sau minh họa cách thêm Mã khách hàng và bí mật trong mã
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';
Chuyển đổi email thành PDF bằng API REST trong PHP
Chúng tôi có thể dễ dàng chuyển đổi email thành tài liệu PDF theo chương trình trên đám mây bằng cách thực hiện theo các bước đơn giản dưới đây:
- Tải lên tệp EML lên đám mây
- Chuyển EML sang PDF
- Tải xuống tệp PDF đã chuyển đổi
Tải lên tệp EML
Đầu tiên, chúng tôi sẽ tải tệp EML lên đám mây bằng cách sử dụng mẫu mã sau:
// Mẫu mã này trình bày cách tải tệp EML lên đám mây.
// Đặt cấu hình
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
// Khởi tạo 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);
Do đó, tệp đã tải lên sẽ có sẵn trong phần tệp của trang tổng quan trên đám mây.
Chuyển đổi EML sang PDF trong PHP
Bây giờ, chúng tôi sẽ chuyển đổi email từ tệp EML đã tải lên thành tài liệu PDF bằng cách thực hiện theo các bước dưới đây:
- Đầu tiên, tạo một phiên bản của ConvertApi.
- Tiếp theo, cung cấp đường dẫn tệp EML đã tải lên, định dạng chuyển đổi và đường dẫn tệp đầu ra.
- Sau đó, đặt nhiều EmlLoadOptions chẳng hạn như setDisplayHeader, setDisplayEmailAddress, v.v.
- Tùy chọn, đặt nhiều PdfConvertOptions khác nhau chẳng hạn như setCenterWindow, setMarginTop, setMarginLeft, v.v.
- Sau đó, tạo ConvertDocumentRequest với ConvertSettings làm đối số.
- Cuối cùng, chuyển đổi EML bằng phương thức convertDocument() với ConvertDocumentRequest.
Mẫu mã sau đây cho biết cách chuyển đổi tệp EML thành tài liệu PDF bằng API REST trong PHP.
// Ví dụ mã này trình bày cách chuyển đổi EML sang PDF trong PHP.
// Đặt cấu hình
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);
// Tạo phiên bản API chuyển đổi mới
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);
// Xác định cài đặt chuyển đổi
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.eml");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedEML.pdf");
// Xác định các tùy chọn tải 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);
// Xác định các tùy chọn chuyển đổi 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);
// Tạo yêu cầu chuyển đổi
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);
// Chuyển đổi tài liệu
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
Tải xuống tệp đã chuyển đổi
Mẫu mã trên sẽ lưu tệp PDF đã chuyển đổi trên đám mây. Nó có thể được tải xuống bằng cách sử dụng mẫu mã sau:
// Ví dụ mã này minh họa cách tải xuống PDF từ đám mây.
// Đặt cấu hình
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
// Khởi tạo API
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);
// Tạo yêu cầu tải xuống
$request = new GroupDocs\Conversion\Model\Requests\DownloadFileRequest("convertedEML.pdf", self::$MyStorage, null);
// Tải tập tin
$response = $apiInstance->downloadFile($request);
Chuyển đổi Outlook MSG sang PDF bằng API REST trong PHP
Chúng tôi có thể chuyển đổi các tệp Outlook MSG thành tài liệu PDF bằng cách thực hiện theo các bước dưới đây:
- Đầu tiên, tạo một phiên bản của ConvertApi.
- Tiếp theo, cung cấp đường dẫn tệp MSG đã tải lên, định dạng chuyển đổi và đường dẫn tệp đầu ra.
- Sau đó, đặt nhiều MsgLoadOptions chẳng hạn như setDisplayCcEmailAddress, v.v.
- Tùy chọn, đặt nhiều PdfConvertOptions khác nhau chẳng hạn như setCenterWindow, setMarginTop, setMarginLeft, v.v.
- Sau đó, tạo ConvertDocumentRequest với ConvertSettings làm đối số.
- Cuối cùng, chuyển đổi MSG sang PDF bằng phương pháp convertDocument() với ConvertDocumentRequest.
Mẫu mã sau đây cho biết cách chuyển đổi tệp MSG thành tài liệu PDF bằng API REST trong PHP. Vui lòng làm theo các bước được đề cập trước đó để tải lên và tải xuống tệp.
// Ví dụ mã này trình bày cách chuyển đổi MSG thành PDF trong PHP.
// Đặt cấu hình
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);
// Tạo phiên bản API chuyển đổi mới
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);
// Xác định cài đặt chuyển đổi
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.msg");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedMSG.pdf");
// Xác định các tùy chọn tải MSG
$loadOptions = new GroupDocs\Conversion\Model\MsgLoadOptions();
$loadOptions->setDisplayCcEmailAddress(true);
$loadOptions->setDisplayBccEmailAddress(true);
$settings->setLoadOptions($loadOptions);
// Tạo yêu cầu chuyển đổi
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);
// Chuyển đổi tài liệu
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
Cách chuyển đổi tệp đính kèm email thành PDF trong PHP
Chúng tôi cũng có thể chuyển đổi tệp đính kèm email thành tài liệu PDF theo chương trình bằng cách thực hiện theo các bước dưới đây:
- Đầu tiên, tạo một phiên bản của ConvertApi.
- Tiếp theo, cung cấp đường dẫn tệp MSG đã tải lên, định dạng chuyển đổi và đường dẫn tệp đầu ra.
- Tạo một phiên bản của MsgLoadOptions
- Đặt thuộc tính convertAttachments thành true
- Sau đó, tạo ConvertDocumentRequest với ConvertSettings làm đối số.
- Cuối cùng, chuyển đổi EML bằng phương pháp convertDocument() với ConvertDocumentRequest.
Mẫu mã sau đây cho biết cách chuyển đổi tệp đính kèm email thành tài liệu PDF bằng API REST trong PHP. Vui lòng làm theo các bước được đề cập trước đó để tải lên và tải xuống tệp.
// Ví dụ mã này trình bày cách chuyển đổi tệp đính kèm Email thành PDF trong PHP.
// Đặt cấu hình
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
// Tạo phiên bản API chuyển đổi
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);
// Xác định cài đặt chuyển đổi
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("Msg_with_attachments.msg");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedAttachments.pdf");
// Xác định các tùy chọn tải MSG
$loadOptions = new GroupDocs\Conversion\Model\MsgLoadOptions();
$loadOptions->setConvertAttachments(true);
// Tạo yêu cầu tài liệu
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);
// Chuyển đổi tài liệu
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
Thử trực tuyến
Vui lòng dùng thử các công cụ chuyển đổi EML sang PDF và MSG sang PDF trực tuyến miễn phí sau đây, được phát triển bằng API trên.
- https://products.groupdocs.app/conversion/eml-to-pdf
- https://products.groupdocs.app/conversion/msg-to-pdf
Phần kết luận
Trong bài viết này, chúng ta đã học được:
- cách chuyển đổi EML sang PDF bằng PHP;
- cách chuyển đổi tệp Outlook MSG thành tài liệu PDF;
- Lưu tệp đính kèm email dưới dạng PDF trong PHP;
- cách lập trình tải tệp EML lên đám mây;
- cách tải xuống tệp PDF từ đám mây.
Ngoài ra, bạn có thể tìm hiểu thêm về GroupDocs.Conversion Cloud API bằng cách sử dụng tài liệu. Chúng tôi cũng cung cấp phần Tham khảo API cho phép bạn hình dung và tương tác trực tiếp với các API của chúng tôi thông qua trình duyệt. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.