چاپ پیام‌های ایمیل به XPS و TIFF

این Aspose.Email.Printing namespace مجموعه‌ای غنی از ویژگی‌ها برای چاپ پیام‌های ایمیل به فرمت‌های مختلف (XPS یا TIFF) و پیکربندی طرح صفحات فراهم می‌کند. این مقاله آن‌ها را توضیح می‌دهد. چندین گزینه برای چگونگی چاپ یک پیام ایمیل با Aspose.Email وجود دارد:

  1. چاپ فقط بدنه پیام.
  2. چاپ بدنه پیام و هدرها.
  3. چاپ بدنه HTML.
  4. تنظیم طرح صفحه.
  5. انطباق خودکار یک TIFF با چاپگر.
  6. تنظیم DPI هدف برای خروجی TIFF.

کلاس مرکزی برای این عملیات MailPrinter. ویژگی آن Print متد یک مورد را می‌پذیرد MailMessage, یک نام فایل خروجی، و یک PrintFormat value (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 به 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.

قطعه کد زیر از تنظیمات دلخواه برای نشان دادن نحوهٔ استفاده از این ویژگی‌ها استفاده می‌کند. صفحه‌ای به ارتفاع ۲۰ سانتی‌متر و عرض ۸ سانتی‌متر، با حاشیه‌های ۲ سانتی‌متر تنظیم می‌کند.

// 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 را به‌صورت خودکار به اندازه چاپگر تنظیم کنید. قطعه کد زیر نشان می‌دهد چگونه از auto‑fit استفاده شود.

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