Tisk e‑mailových zpráv do XPS a TIFF

The Aspose.Email.Printing namespace poskytuje bohatou sadu funkcí pro tisk e‑mailových zpráv do různých formátů (XPS nebo TIFF) a pro konfiguraci rozložení stránek. Tento článek je popisuje. Existuje několik možností, jak může být e‑mailová zpráva vytisknuta pomocí Aspose.Email:

  1. Tisk pouze těla zprávy.
  2. Tisk těla zprávy a hlaviček.
  3. Tisk HTML těla.
  4. Nastavení rozložení stránky.
  5. Automatické přizpůsobení TIFF tiskárně.
  6. Úprava cílového DPI pro výstupní TIFF.

Centrální třída pro tyto operace je MailPrinter. Jeho Print metoda přijímá MailMessage, název výstupního souboru a PrintFormat hodnotu (XPS nebo Tiff).

Tisk těla zprávy

Následující ukázka kódu vytvoří zprávu a vytiskne ji bez hlaviček, nejprve do XPS souboru a poté do TIFF souboru. Nastavte FormattingFlags vlastnost pro MessageFormattingFlags.None na zobrazení pouze těla zprávy.

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

Tisk hlaviček a těla zprávy

Pro zobrazení a tisk hlaviček zprávy spolu s tělem zprávy změňte FormattingFlags do MessageFormattingFlags.MailInfo.

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

Tisk zprávy s HTML tělem

Zprávy s HTML tělem lze také vytisknout. Nastavte HTML obsah pomocí HtmlBody vlastnost před tiskem.

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

Nastavení rozvržení stránky pro tisk

MailPrinter poskytuje ovládací prvky pro nastavení následujících vlastností rozvržení stránky:

|Vlastnost|Popis|Výchozí hodnota| | :- | :- | :- | |FormattingFlags|Zobrazit nebo skrýt podrobnosti zprávy.|None [1]| |MarginTop|Získat nebo nastavit horní okraj.|0.5| |MarginLeft|Získat nebo nastavit levý okraj.|0.5| |MarginBottom|Získat nebo nastavit spodní okraj.|0.5| |MarginRight|Získat nebo nastavit pravý okraj.|0.5| |PageUnit|Získat nebo nastavit měrné jednotky.|Inch [2]| |PageHeight|Získat nebo nastavit výšku stránky.|11.69| |PageWidth|Získat nebo nastavit šířku stránky.|8.27|

  • [1] Existují dva příznaky: MailInfo a None.
  • [2] Jednotky stránky mohou být jedny z Inch, Pixel, Point, Cm, nebo Millimeter.

Úryvek kódu níže používá libovolná nastavení k ilustraci, jak se tyto vlastnosti používají. Nastavuje stránku vysokou 20 cm a širokou 8 cm s okraji 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;

Automatické přizpůsobení TIFF

Aspose.Email.Printing poskytuje MessageFormattingFlags.AutoFitWidth příznak, který umožňuje automaticky přizpůsobit TIFF tiskárně. Následující úryvek kódu ukazuje, jak použít automatické přizpůsobení.

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

Nastavit cílové DPI pro výstupní TIFF

Použijte DpiX a DpiY vlastnosti pro řízení rozlišení výstupního 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);