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:
- Tisk pouze těla zprávy.
- Tisk těla zprávy a hlaviček.
- Tisk HTML těla.
- Nastavení rozložení stránky.
- Automatické přizpůsobení TIFF tiskárně.
- Ú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:
MailInfoaNone. - [2] Jednotky stránky mohou být jedny z
Inch,Pixel,Point,Cm, neboMillimeter.
Ú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);