Друкування електронних листів у XPS та TIFF
The 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);