Отпечатване на имейл съобщения в XPS и TIFF
Този Aspose.Email.Printing пространството от имена предоставя богати възможности за отпечатване на имейл съобщения в различни формати (XPS или TIFF) и за конфигуриране на оформленията на страниците. Тази статия ги описва. Има няколко опции за това как имейл съобщение може да бъде отпечатано с Aspose.Email:
- Печатане само на тялото на съобщението.
- Печатане на тялото и заглавките на съобщението.
- Печатане на HTML тяло.
- Задаване на оформление на страницата.
- Автоматично прилягане на TIFF към принтера.
- Настройване на целевата 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);