Отпечатване на имейл съобщения в XPS и TIFF

Този Aspose.Email.Printing пространството от имена предоставя богати възможности за отпечатване на имейл съобщения в различни формати (XPS или TIFF) и за конфигуриране на оформленията на страниците. Тази статия ги описва. Има няколко опции за това как имейл съобщение може да бъде отпечатано с Aspose.Email:

  1. Печатане само на тялото на съобщението.
  2. Печатане на тялото и заглавките на съобщението.
  3. Печатане на HTML тяло.
  4. Задаване на оформление на страницата.
  5. Автоматично прилягане на TIFF към принтера.
  6. Настройване на целевата DPI за изходния TIFF.

Централният клас за тези операции е MailPrinter. Неговият Print методът приема MailMessage, име на изходния файл и PrintFormat стойност (XPS или Tiff).

Печатане на тялото на съобщението

Следният кодов отрязък създава съобщение и го отпечатва без заглавия, първо във файл XPS, а след това във файл TIFF. Задайте FormattingFlags свойство за MessageFormattingFlags.None за да се показва само тялото на съобщението.

// 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);

Печатане на заглавките и тялото на съобщението

За да се покажат и отпечатат заглавните части на съобщението заедно с тялото, променете FormattingFlags to MessageFormattingFlags.MailInfo.

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

Отпечатване на съобщение с HTML тяло

Съобщения с HTML тяло също могат да бъдат отпечатани. Задайте HTML съдържанието, като използвате HtmlBody свойство преди печат.

// 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>";

Задаване на оформление на страницата за печат

MailPrinter осигурява контроли за задаване на следните свойства за оформление на страницата:

|Свойство|Описание|Стойност по подразбиране| | :- | :- | :- | |FormattingFlags|Показване или скриване на детайли за съобщението.|None [1]| |MarginTop|Получете или задайте горния отстъп.|0.5| |MarginLeft|Получете или задайте левия отстъп.|0.5| |MarginBottom|Получете или задайте долния отстъп.|0.5| |MarginRight|Получете или задайте десния отстъп.|0.5| |PageUnit|Получете или задайте единиците за измерване.|Inch [2]| |PageHeight|Получете или задайте височината на страницата.|11.69| |PageWidth|Получете или задайте ширината на страницата.|8.27|

  • [1] Има два флага: MailInfo и None.
  • [2] Страницата може да бъде измервана в една от Inch, Pixel, Point, Cm, или Millimeter.

Кодовият откъс по-долу използва произволни настройки, за да илюстрира как се използват тези свойства. Той задава страница с височина 20 см и ширина 8 см, с 2 см полета.

// 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 върху принтера. Следният кодов откъс показва как да се използва автоматичното мащабиране.

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

Използвайте DpiX и DpiY свойства за контролиране на резолюцията на изходния 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);