Recursos de Impressão do Aspose.Email

Recursos de Impressão

O namespace Aspose.Email.Printing fornece um rico conjunto de recursos para imprimir mensagens de e-mail em diferentes formatos (XPS ou TIFF) e configurar layouts de página. Este artigo os descreve. Existem várias opções de como uma mensagem de e-mail pode ser impressa a partir do Aspose.Email:

  1. Imprimir apenas o corpo da mensagem.
  2. Imprimir o corpo da mensagem e os cabeçalhos.
  3. Imprimir um corpo HTML.
  4. Configurar o layout da página.
  5. Ajustar uma TIFF automaticamente para a impressora.
  6. Ajustar a DPI alvo para a saída TIFF.

Imprimindo o Corpo da Mensagem

O seguinte trecho de código mostra como criar uma mensagem e imprimi-la sem cabeçalhos primeiro para um arquivo XPS e depois para um arquivo TIFF.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// Declare message as an 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 MessageFormattingFlags 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);

Imprimindo Cabeçalhos e Corpo da Mensagem

O seguinte trecho de código mostra como exibir os cabeçalhos e imprimi-los, bem como o corpo da mensagem, alterando os FormattingFlags para MailInfo.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
printer.FormattingFlags = Aspose.Email.Printing.MessageFormattingFlags.MailInfo;

Imprimindo Mensagem com Corpo HTML

Mensagens com corpo HTML também podem ser impressas. O seguinte trecho de código mostra como imprimir uma mensagem com corpo HTML.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// 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>";

Configurando Layout da Página para Impressão

Aspose.Email.Printing.MailPrinter fornece controles para definir as seguintes propriedades do layout da página:

Propriedade Descrição Valor Padrão
FormattingFlags Mostrar ou ocultar detalhes da mensagem. Nenhum [1]
MarginTop Obter ou definir a margem superior. 0.5
MarginLeft Obter ou definir a margem esquerda. 0.5
MarginBottom Obter ou definir a margem inferior. 0.5
MarginRight Obter ou definir a margem direita. 0.5
PageUnit Obter ou definir as unidades de medida. Polegada [2]
PageHeight Obter ou definir a altura da página. 11.69
PageWidth Obter ou definir a largura da página. 8.27
  • Existem duas bandeiras: MailInfo e Nenhum
  • As unidades da página podem ser uma de Polegada, Pixel, Ponto, Cm ou Milímetro.

O trecho de código a seguir usa configurações arbitrárias para ilustrar como essas propriedades são usadas. Ele configura uma página com 20 cm de altura e 8 cm de largura, com margens de 2 cm.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// 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;

Ajustar automaticamente uma TIFF

Aspose.Email.Printing fornece a propriedade MessageFormattingFlags.AutoFitWidth que permite ajustar automaticamente a TIFF para a impressora. O seguinte trecho de código mostra como usar o ajuste automático.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
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);

Ajustar DPI alvo para saída TIFF

O seguinte trecho de código mostra como usar DPI para saída TIFF.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// 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);