طباعة رسائل البريد الإلكتروني إلى 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 إلى 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);