Mencetak Pesan Email ke XPS dan TIFF

The Aspose.Email.Printing namespace menyediakan kumpulan fitur lengkap untuk mencetak pesan email ke format yang berbeda (XPS atau TIFF) dan untuk mengkonfigurasi tata letak halaman. Artikel ini menjelaskannya. Ada beberapa opsi tentang bagaimana pesan email dapat dicetak dengan Aspose.Email:

  1. Mencetak hanya isi pesan.
  2. Mencetak isi pesan dan header.
  3. Mencetak isi HTML.
  4. Mengatur tata letak halaman.
  5. Menyesuaikan otomatis TIFF ke printer.
  6. Menyesuaikan DPI target untuk TIFF output.

Kelas pusat untuk operasi ini adalah MailPrinter. Print metode menerima sebuah MailMessage, nama file output, dan sebuah PrintFormat nilai (XPS atau Tiff).

Mencetak Isi Pesan

Potongan kode berikut membuat pesan dan mencetaknya tanpa header, pertama ke file XPS lalu ke file TIFF. Atur FormattingFlags properti untuk MessageFormattingFlags.None untuk menampilkan hanya badan pesan.

// Declare message as a MailMessage instance
MailMessage message = new MailMessage();
message.From = "user1@domain.com";
message.To = "user2@domain.com";
message.Subject = "My First Mail";
message.Date = DateTime.Now;
message.Body = "Text is the Mail Message";

// Instantiate an instance of MailPrinter and set the FormattingFlags to None to display only the message body
var printer = new Aspose.Email.Printing.MailPrinter();
printer.FormattingFlags = Aspose.Email.Printing.MessageFormattingFlags.None;

// Print the email to an XPS and TIFF file
printer.Print(message, dataDir + "PrintXPS_out.xps", Aspose.Email.Printing.PrintFormat.XPS);
printer.Print(message, dataDir + "PrintTIFF_out.tiff", Aspose.Email.Printing.PrintFormat.Tiff);

Mencetak Header dan Isi Pesan

Untuk menampilkan dan mencetak header pesan bersama dengan badan pesan, ubah FormattingFlags ke MessageFormattingFlags.MailInfo.

printer.FormattingFlags = Aspose.Email.Printing.MessageFormattingFlags.MailInfo;

Mencetak Pesan dengan Badan HTML

Pesan dengan badan HTML juga dapat dicetak. Atur konten HTML menggunakan HtmlBody properti sebelum mencetak.

// Body of the email message
message.IsBodyHtml = true;
message.HtmlBody = "<html><body><h1>Hello this is html body in Heading 1 format </h1></body></html>";

Mengatur Tata Letak Halaman untuk Pencetakan

MailPrinter menyediakan kontrol untuk mengatur properti tata letak halaman berikut:

|Properti|Deskripsi|Nilai Default| | :- | :- | :- | |FormattingFlags|Tampilkan atau sembunyikan detail pesan.|None [1]| |MarginTop|Dapatkan atau atur margin atas.|0.5| |MarginLeft|Dapatkan atau atur margin kiri.|0.5| |MarginBottom|Dapatkan atau atur margin bawah.|0.5| |MarginRight|Dapatkan atau atur margin kanan.|0.5| |PageUnit|Dapatkan atau atur satuan pengukuran.|Inch [2]| |PageHeight|Dapatkan atau atur tinggi halaman.|11.69| |PageWidth|Dapatkan atau atur lebar halaman.|8.27|

  • [1] Ada dua bendera: MailInfo dan None.
  • [2] Unit halaman dapat berupa salah satu Inch, Pixel, Point, Cm, atau Millimeter.

Potongan kode di bawah ini menggunakan pengaturan acak untuk mengilustrasikan cara properti ini dipakai. Ia mengatur halaman setinggi 20 cm dan lebar 8 cm, dengan margin 2 cm.

// Instantiate an instance of MailPrinter
var printer = new Aspose.Email.Printing.MailPrinter();

// Just for testing, get the default property values
double width = printer.PageWidth;
double height = printer.PageHeight;

// Set page layout for printing
printer.PageUnit = Aspose.Email.Printing.PrinterUnit.Cm;
printer.MarginTop = 2;
printer.MarginBottom = 2;
printer.MarginLeft = 2;
printer.MarginRight = 2;
printer.PageWidth = 8;
printer.PageHeight = 20;

Sesuaikan otomatis TIFF

Aspose.Email.Printing menyediakan MessageFormattingFlags.AutoFitWidth bendera, yang memungkinkan Anda menyesuaikan TIFF secara otomatis ke printer. Potongan kode berikut menunjukkan cara menggunakan auto-fit.

string dataDir = RunExamples.GetDataDir_KnowledgeBase();

// Instantiate an instance of MailPrinter
Printing.MailPrinter printer = new Printing.MailPrinter();
printer.FormattingFlags = Printing.MessageFormattingFlags.AutoFitWidth;
MailMessage msg = MailMessage.Load(dataDir + "message3.msg", new MsgLoadOptions());
printer.Print(msg, dataDir + "AutoFit_out.tiff", Printing.PrintFormat.Tiff);

Sesuaikan DPI Target untuk Output TIFF

Gunakan DpiX dan DpiY properti untuk mengontrol resolusi output TIFF.

// The path to the File directory and instantiate an instance of MailPrinter
string dataDir = RunExamples.GetDataDir_KnowledgeBase();
Printing.MailPrinter printer = new Printing.MailPrinter();
printer.DpiX = 300;
printer.DpiY = 300;
MailMessage msg = MailMessage.Load(dataDir + "message3.msg", new MsgLoadOptions());
printer.Print(msg, dataDir + "AdjustTargetDPI_out.tiff", Printing.PrintFormat.Tiff);