Skriv ut e‑postmeddelanden till XPS och TIFF

Den Aspose.Email.Printing namnutrymme tillhandahåller ett rikt urval av funktioner för att skriva ut e‑postmeddelanden till olika format (XPS eller TIFF) och för att konfigurera sidlayouter. Denna artikel beskriver dem. Det finns flera alternativ för hur ett e‑postmeddelande kan skrivas ut med Aspose.Email:

  1. Skriva ut endast meddelandetexten.
  2. Skriva ut meddelandetexten och rubrikerna.
  3. Skriva ut ett HTML‑innehåll.
  4. Ställa in sidlayouten.
  5. Automatisk anpassning av en TIFF till skrivaren.
  6. Justering av mål‑DPI för den utgående TIFF‑filen.

Den centrala klassen för dessa operationer är MailPrinter. Dess Print metod accepterar en MailMessage, ett namn på utdatfilen, och en PrintFormat värdet (XPS eller Tiff).

Skriva ut meddelandetexten

Följande kodsnutt skapar ett meddelande och skriver ut det utan huvuden, först till en XPS‑fil och sedan till en TIFF‑fil. Ställ in FormattingFlags egenskap för att MessageFormattingFlags.None för att bara visa meddelandetexten.

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

Skriva ut meddelanderubriker och -text

För att visa och skriva ut meddelandehuvudena tillsammans med meddelandetexten, ändra FormattingFlags till MessageFormattingFlags.MailInfo.

printer.FormattingFlags = Aspose.Email.Printing.MessageFormattingFlags.MailInfo;

Skriva ut ett meddelande med en HTML-kropp

Meddelanden med en HTML-kropp kan också skrivas ut. Ställ in HTML-innehållet med HtmlBody egenskap före utskrift.

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

Ställ in sidlayout för utskrift

MailPrinter ger kontroller för att ställa in följande egenskaper för sidlayout:

|Egenskap|Beskrivning|Standardvärde| | :- | :- | :- | |FormattingFlags|Visa eller dölja meddelandedetaljer.|None [1]| |MarginTop|Hämta eller ange toppmarginalen.|0.5| |MarginLeft|Hämta eller ange vänstermarginalen.|0.5| |MarginBottom|Hämta eller ange bottenmarginalen.|0.5| |MarginRight|Hämta eller ange högermarginalen.|0.5| |PageUnit|Hämta eller ange mätenheter.|Inch [2]| |PageHeight|Hämta eller ange sidhöjden.|11.69| |PageWidth|Hämta eller ange sidbredden.|8.27|

  • [1] Det finns två flaggor: MailInfo och None.
  • [2] Sid-enheter kan vara en av Inch, Pixel, Point, Cm, eller Millimeter.

Kodsnutten nedan använder godtyckliga inställningar för att illustrera hur dessa egenskaper används. Den ställer in en sida 20 cm hög och 8 cm bred, med 2 cm marginaler.

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

Auto‑fit en TIFF

Aspose.Email.Printing tillhandahåller MessageFormattingFlags.AutoFitWidth flagga, som låter dig automatiskt anpassa TIFF till skrivaren. Följande kodsnutt visar hur du använder 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);

Justera mål‑DPI för den utgående TIFF‑filen

Använd DpiX och DpiY egenskaper för att styra upplösningen på den utgående TIFF‑filen.

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