Menyimpan Email sebagai PDF

Artikel ini menunjukkan cara mengonversi pesan email ke PDF menggunakan Aspose.Email. Aspose.Email untuk .NET menangani protokol jaringan dan fitur Microsoft Outlook, dan tidak dapat melakukan konversi langsung ke PDF. Untuk mengatasi hal ini, contoh dalam artikel ini menggunakan Aspose.Email untuk mengonversi pesan email menjadi stream MHTML dan kemudian menggunakan Aspose.Words untuk .NET untuk memuat stream MHTML tersebut dan menyimpannya sebagai PDF. Pesan email juga dapat berisi lampiran. Karena setiap lampiran dapat memiliki tipe media berbeda, Aspose.Email mengabaikan lampiran tersebut saat mengonversi ke MHTML, yaitu hanya gambar inline dalam pesan yang akan menjadi bagian dari MHTML dan semua lampiran reguler akan diabaikan.

Mengonversi Pesan Email ke PDF

Kode berikut menunjukkan cara mengonversi pesan email ke PDF menggunakan Aspose.Email bersamaan dengan Aspose.Words untuk .NET. Ini melibatkan langkah-langkah berikut:

  1. Muat pesan email menggunakan MailMessage
  2. Simpan pesan email ke MemoryStream sebagai MHTML
  3. Muat aliran menggunakan Aspose.Words
  4. Simpan pesan sebagai PDF

Pesan email sumber dapat dilihat sebagai berikut:

todo:image_alt_text

PDF yang dikonversi ditampilkan pada gambar berikut:

todo:image_alt_text

Potongan kode berikut menunjukkan cara mengonversi pesan email ke PDF.

string dataDir = RunExamples.GetDataDir_KnowledgeBase();
MailMessage mailMsg = MailMessage.Load(dataDir + "message3.msg");
MemoryStream ms = new MemoryStream();
mailMsg.Save(ms, Aspose.Email.SaveOptions.DefaultMhtml);

// create an instance of LoadOptions and set the LoadFormat to Mhtml
var loadOptions = new Aspose.Words.Loading.LoadOptions();
loadOptions.LoadFormat = LoadFormat.Mhtml;

// create an instance of Document and load the MTHML from MemoryStream
var document = new Aspose.Words.Document(ms, loadOptions);

// create an instance of HtmlSaveOptions and set the SaveFormat to Html
var saveOptions = new Aspose.Words.Saving.PdfSaveOptions();
document.Save(dataDir + "SaveEmailAsPDF_out.pdf", saveOptions);