E‑mailberichten afdrukken naar XPS en TIFF

De Aspose.Email.Printing namespace biedt een uitgebreide reeks functies voor het afdrukken van e‑mailberichten naar verschillende formaten (XPS of TIFF) en voor het configureren van paginalay‑outs. Dit artikel beschrijft deze. Er zijn verschillende opties voor hoe een e‑mailbericht kan worden afgedrukt met Aspose.Email:

  1. Alleen de berichtinhoud afdrukken.
  2. De berichtinhoud en kopteksten afdrukken.
  3. Een HTML‑body afdrukken.
  4. De paginalay‑out instellen.
  5. Het automatisch aanpassen van een TIFF aan de printer.
  6. Het aanpassen van de doel‑DPI voor de uitvoer‑TIFF.

De centrale klasse voor deze bewerkingen is MailPrinter. Zijn Print methode accepteert een MailMessage, een uitgaand bestandsnaam, en een PrintFormat waarde (XPS of Tiff).

Berichtinhoud afdrukken

De volgende codefragment maakt een bericht en drukt het af zonder koppen, eerst naar een XPS‑bestand en vervolgens naar een TIFF‑bestand. Stel de FormattingFlags eigenschap om MessageFormattingFlags.None om alleen de berichtbody weer te geven.

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

Berichtkopteksten en -inhoud afdrukken

Om de berichtkoppen samen met de berichtbody weer te geven en af te drukken, wijzig u de FormattingFlags naar MessageFormattingFlags.MailInfo.

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

Een bericht afdrukken met een HTML-body

Berichten met een HTML-body kunnen ook worden afgedrukt. Stel de HTML-inhoud in met de HtmlBody eigenschap vóór het afdrukken.

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

Instellen van de paginalay‑out voor afdrukken

MailPrinter biedt bedieningselementen voor het instellen van de volgende pagina‑layouteigenschappen:

|Eigenschap|Beschrijving|Standaardwaarde| | :- | :- | :- | |FormattingFlags|Berichtdetails tonen of verbergen.|None [1]| |MarginTop|De boven‑marge ophalen of instellen.|0.5| |MarginLeft|De linker‑marge ophalen of instellen.|0.5| |MarginBottom|De onder‑marge ophalen of instellen.|0.5| |MarginRight|De rechter‑marge ophalen of instellen.|0.5| |PageUnit|Meet‑eenheden ophalen of instellen.|Inch [2]| |PageHeight|De pagina‑hoogte ophalen of instellen.|11.69| |PageWidth|De pagina‑breedte ophalen of instellen.|8.27|

  • [1] Er zijn twee vlaggen: MailInfo en None.
  • [2] Pagina‑eenheden kunnen een van de volgende zijn Inch, Pixel, Point, Cm, of Millimeter.

Het codefragment hieronder gebruikt willekeurige instellingen om te illustreren hoe deze eigenschappen worden gebruikt. Het stelt een pagina in van 20 cm hoog en 8 cm breed, met marges van 2 cm.

// 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 automatisch aanpassen

Aspose.Email.Printing biedt de MessageFormattingFlags.AutoFitWidth vlag, die u in staat stelt de TIFF automatisch aan te passen aan de printer. Het volgende codefragment toont hoe u auto‑fit gebruikt.

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

Pas de doel‑DPI aan voor de uitvoer‑TIFF

Gebruik de DpiX en DpiY eigenschappen om de resolutie van de uitvoer‑TIFF te regelen.

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