Возможности печати Aspose.Email
Возможности печати
Пространство имен Aspose.Email.Printing предоставляет богатый набор функций для печати сообщений электронной почты в различные форматы (XPS или TIFF) и настройки макетов страниц. В этой статье описаны эти возможности. Существует несколько вариантов, как сообщение электронной почты может быть напечатано из Aspose.Email:
- Печать только тела сообщения.
- Печать тела сообщения и заголовков.
- Печать HTML-тела.
- Настройка макета страницы.
- Автоматическая подгонка TIFF под принтер.
- Настройка целевого разрешения DPI для выходного TIFF.
Печать тела сообщения
Следующий фрагмент кода показывает, как создать сообщение и сначала напечатать его без заголовков в файл XPS, а затем в файл TIFF.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
// Declare message as an 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 MessageFormattingFlags 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); |
Печать заголовков и тела сообщения
Следующий фрагмент кода показывает, как отобразить заголовки и напечатать их, а также тело сообщения, изменяя FormattingFlags на MailInfo.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
printer.FormattingFlags = Aspose.Email.Printing.MessageFormattingFlags.MailInfo; |
Печать сообщения с HTML-телом
Сообщения с HTML-телом также могут быть напечатаны. Следующий фрагмент кода показывает, как напечатать сообщение с HTML-телом.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
// 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>"; |
Настройка макета страницы для печати
Aspose.Email.Printing.MailPrinter предоставляет элементы управления для настройки следующих свойств макета страницы:
Свойство | Описание | Значение по умолчанию |
---|---|---|
FormattingFlags | Показать или скрыть детали сообщения. | Нет [1] |
MarginTop | Получить или установить верхний отступ. | 0.5 |
MarginLeft | Получить или установить левый отступ. | 0.5 |
MarginBottom | Получить или установить нижний отступ. | 0.5 |
MarginRight | Получить или установить правый отступ. | 0.5 |
PageUnit | Получить или установить единицы измерения. | Дюйм [2] |
PageHeight | Получить или установить высоту страницы. | 11.69 |
PageWidth | Получить или установить ширину страницы. | 8.27 |
- Существуют два флага: MailInfo и None
- Единицы страниц могут быть одним из: Inch, Pixel, Point, Cm или Millimeter.
Следующий фрагмент кода использует произвольные настройки, чтобы проиллюстрировать, как используются эти свойства. Он настраивает страницу высотой 20 см и шириной 8 см с отступами 2 см.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
// 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; |
Автоматическая подгонка TIFF
Aspose.Email.Printing предоставляет свойство MessageFormattingFlags.AutoFitWidth, которое позволяет автоматически подгонять TIFF под принтер. Следующий фрагмент кода показывает, как использовать автоматическую подгонку.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
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); |
Настройка целевого DPI для выходного TIFF
Следующий фрагмент кода показывает, как использовать DPI для выходного TIFF.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
// 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); |