Email là nguồn thông tin liên lạc chính trên internet, đặc biệt là trong môi trường kinh doanh. Có thể có các trường hợp như thảo luận và hoàn thiện các yêu cầu phần mềm của khách hàng để phát triển sản phẩm. Sau khi hoàn thành các yêu cầu phần mềm, bạn có thể cần tạo một bộ tài liệu cuối cùng chứa email và các chi tiết khác để chia sẻ với nhóm của mình. Trong những trường hợp như vậy, chuyển đổi email thành PDF có thể hữu ích. Trong bài viết này, bạn sẽ học cách chuyển đổi một email sang định dạng PDF bằng C ++.
API chuyển đổi email sang PDF từ C ++
Để chuyển đổi email sang PDF, chúng tôi sẽ sử dụng các API Aspose.Email cho C ++ và Aspose.Words cho C ++. Trước đây là một thư viện C ++ gốc để tạo, thao tác và chuyển đổi các tệp Outlook. Trong khi, cái sau cho phép bạn tạo, sửa đổi và chuyển đổi các tệp Microsoft Word. Hơn nữa, nó cũng hỗ trợ chuyển đổi các tập tin sang định dạng PDF. Chúng tôi sẽ sử dụng Aspose.Email for C ++ để tải các tệp email và Aspose. AdWords for C ++ để chuyển đổi chúng sang định dạng PDF. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.
PM> Install-Package Aspose.Email.Cpp
PM> Install-Package Aspose.Words.Cpp
Chuyển đổi email sang PDF bằng C ++
Sau đây là các bước để chuyển đổi tệp email sang định dạng PDF bằng C ++.
- Tải tệp email bằng lớp MailMessage.
- Lưu email trong Dòng nhớ dưới dạng MHTML.
- Tạo một thể hiện của lớp LoadOptions.
- Đặt định dạng tải là MHTML.
- Tải tệp từ MemoryStream bằng Document (SharedPtr luồng, SharedPtr loadOptions) phương thức khởi tạo của lớp Document.
- Lưu email dưới dạng tệp PDF bằng phương pháp Document-> Save (String fileName, SaveFormat saveFormat).
Mẫu mã sau đây cho thấy cách chuyển đổi thư email sang định dạng PDF.
// Tệp email nguồn
System::String sampleFile = u"SourceDirectory\\Message.msg";
// Tải thông báo email bằng tệp
System::SharedPtr<Aspose::Email::MailMessage> msg = Aspose::Email::MailMessage::Load(sampleFile);
// Tạo luồng bộ nhớ
System::SharedPtr<System::IO::MemoryStream> stream = System::MakeObject<System::IO::MemoryStream>();
// Lưu email vào luồng bộ nhớ
msg->Save(stream, Aspose::Email::SaveOptions::get_DefaultMhtml());
// Tạo các tùy chọn tải
System::SharedPtr<Aspose::Words::LoadOptions> loadOptions = System::MakeObject<Aspose::Words::LoadOptions>();
// Đặt định dạng tải
loadOptions->set_LoadFormat(Aspose::Words::LoadFormat::Mhtml);
// Tạo một phiên bản của lớp Tài liệu và tải MTHML từ MemoryStream
System::SharedPtr<Aspose::Words::Document> doc = System::MakeObject<Aspose::Words::Document>(stream, loadOptions);
// Đường dẫn tệp đầu ra
System::String outputPath = u"OutputDirectory\\email-to-pdf.pdf";
// Lưu email dưới dạng PDF
doc->Save(outputPath, Aspose::Words::SaveFormat::Pdf);
Nhận giấy phép miễn phí
Bạn có thể dùng thử API mà không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.
Bản thử trực tiếp
Sự kết luận
Trong bài viết này, bạn đã học cách chuyển đổi email sang định dạng PDF bằng C ++. Đối với điều này, chúng tôi đã sử dụng Aspose.Email cho C ++ để tải email và Aspose.Words dành cho C ++ để chuyển đổi nó sang PDF. Cả hai API này đều cung cấp nhiều tính năng để làm việc với email và tệp MS Word. Để khám phá chi tiết các API này, bạn có thể truy cập tài liệu chính thức của chúng.