Funciones de Impresión de Aspose.Email

Funciones de Impresión

El espacio de nombres Aspose.Email.Printing proporciona un conjunto rico de funciones para imprimir mensajes de correo en diferentes formatos (XPS o TIFF) y configurar diseños de página. Este artículo las describe. Hay varias opciones sobre cómo se puede imprimir un mensaje de correo desde Aspose.Email:

  1. Imprimir solo el cuerpo del mensaje.
  2. Imprimir el cuerpo del mensaje y los encabezados.
  3. Imprimir un cuerpo HTML.
  4. Configurar el diseño de la página.
  5. Ajustar automáticamente un TIFF a la impresora.
  6. Ajustar el DPI objetivo para el TIFF de salida.

Imprimir el Cuerpo del Mensaje

El siguiente fragmento de código muestra cómo crear un mensaje e imprimirlo sin encabezados primero en un archivo XPS y luego en un archivo 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);

Imprimir Encabezados y Cuerpo del Mensaje

El siguiente fragmento de código muestra cómo mostrar los encabezados e imprimirlos así como el cuerpo del mensaje, cambiando los FormattingFlags a 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;

Imprimir Mensaje con Cuerpo HTML

Los mensajes con un cuerpo HTML también se pueden imprimir. El siguiente fragmento de código muestra cómo imprimir un mensaje con cuerpo 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>";

Configurar el Diseño de Página para Imprimir

Aspose.Email.Printing.MailPrinter proporciona controles para establecer las siguientes propiedades del diseño de la página:

Propiedad Descripción Valor por Defecto
FormattingFlags Mostrar u ocultar detalles del mensaje. Ninguno [1]
MarginTop Obtener o establecer el margen superior. 0.5
MarginLeft Obtener o establecer el margen izquierdo. 0.5
MarginBottom Obtener o establecer el margen inferior. 0.5
MarginRight Obtener o establecer el margen derecho. 0.5
PageUnit Obtener o establecer unidades de medida. Pulgada [2]
PageHeight Obtener o establecer la altura de la página. 11.69
PageWidth Obtener o establecer el ancho de la página. 8.27
  • Hay dos banderas: MailInfo y Ninguna
  • Las unidades de página pueden ser una de Pulgada, Píxel, Punto, Cm o Milímetros.

El siguiente fragmento de código utiliza configuraciones arbitrarias para ilustrar cómo se utilizan estas propiedades. Configura una página de 20 cm de alto y 8 cm de ancho, con márgenes 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 Automáticamente un TIFF

Aspose.Email.Printing proporciona la propiedad MessageFormattingFlags.AutoFitWidth que permite ajustar automáticamente el TIFF a la impresora. El siguiente fragmento de código muestra cómo usar Ajustar automáticamente.

// 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 Objetivo para TIFF de Salida

El siguiente fragmento de código muestra cómo utilizar DPI para TIFF de salida.

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