In Thông điệp Email ra XPS và TIFF
Cái Aspose.Email.Printing namespace cung cấp một bộ tính năng phong phú để in tin nhắn email sang các định dạng khác nhau (XPS hoặc TIFF) và để cấu hình bố cục trang. Bài viết này mô tả chúng. Có một số tùy chọn cho cách một tin nhắn email có thể được in với Aspose.Email:
- Chỉ in nội dung tin nhắn.
- In nội dung tin nhắn và tiêu đề.
- In nội dung HTML.
- Cài đặt bố cục trang.
- Tự động điều chỉnh kích thước TIFF cho máy in.
- Điều chỉnh DPI mục tiêu cho TIFF đầu ra.
Lớp trung tâm cho các hoạt động này là MailPrinter. Nó Print phương thức nhận một MailMessage, một tên tệp đầu ra, và một PrintFormat giá trị (XPS hoặc Tiff).
In nội dung tin nhắn
Đoạn mã sau tạo một tin nhắn và in nó mà không có tiêu đề, đầu tiên vào tệp XPS và sau đó vào tệp TIFF. Đặt FormattingFlags thuộc tính để MessageFormattingFlags.None để chỉ hiển thị phần thân tin nhắn.
// 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);
In tiêu đề và nội dung tin nhắn
Để hiển thị và in các tiêu đề tin nhắn cùng với phần thân tin nhắn, thay đổi FormattingFlags đến MessageFormattingFlags.MailInfo.
printer.FormattingFlags = Aspose.Email.Printing.MessageFormattingFlags.MailInfo;
In một Tin Nhắn có Thân HTML
Tin nhắn có nội dung HTML cũng có thể được in. Đặt nội dung HTML bằng cách sử dụng HtmlBody thuộc tính trước khi in.
// 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>";
Đặt Bố cục Trang cho In
MailPrinter cung cấp các điều khiển để đặt các thuộc tính bố cục trang sau:
|Thuộc tính|Mô tả|Giá trị mặc định| | :- | :- | :- | |FormattingFlags|Hiển thị hoặc ẩn chi tiết tin nhắn.|None [1]| |MarginTop|Lấy hoặc đặt lề trên.|0.5| |MarginLeft|Lấy hoặc đặt lề trái.|0.5| |MarginBottom|Lấy hoặc đặt lề dưới.|0.5| |MarginRight|Lấy hoặc đặt lề phải.|0.5| |PageUnit|Lấy hoặc đặt đơn vị đo.|Inch [2]| |PageHeight|Lấy hoặc đặt chiều cao trang.|11.69| |PageWidth|Lấy hoặc đặt chiều rộng trang.|8.27|
- [1] Có hai cờ:
MailInfovàNone. - [2] Đơn vị trang có thể là một trong
Inch,Pixel,Point,Cm, hoặcMillimeter.
Đoạn mã dưới đây sử dụng các thiết lập tùy ý để minh họa cách các thuộc tính này được dùng. Nó thiết lập một trang cao 20 cm và rộng 8 cm, với lề 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;
Tự động điều chỉnh TIFF
Aspose.Email.Printing cung cấp MessageFormattingFlags.AutoFitWidth cờ, cho phép bạn tự động vừa khít TIFF với máy in. Đoạn mã sau đây cho thấy cách sử dụng tự vừa khít.
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);
Điều chỉnh DPI mục tiêu cho TIFF đầu ra
Sử dụng DpiX và DpiY các thuộc tính để kiểm soát độ phân giải của TIFF đầu ra.
// 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);