Возможности печати Aspose.Email

Возможности печати

Пространство имен Aspose.Email.Printing предоставляет богатый набор функций для печати сообщений электронной почты в различные форматы (XPS или TIFF) и настройки макетов страниц. В этой статье описаны эти возможности. Существует несколько вариантов, как сообщение электронной почты может быть напечатано из Aspose.Email:

  1. Печать только тела сообщения.
  2. Печать тела сообщения и заголовков.
  3. Печать HTML-тела.
  4. Настройка макета страницы.
  5. Автоматическая подгонка TIFF под принтер.
  6. Настройка целевого разрешения 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);