Stampa dei messaggi email in XPS e TIFF
Il Aspose.Email.Printing lo spazio dei nomi offre un ricco set di funzionalità per stampare messaggi di posta in diversi formati (XPS o TIFF) e per configurare layout di pagina. Questo articolo li descrive. Esistono diverse opzioni su come un messaggio email può essere stampato con Aspose.Email:
- Stampa solo il corpo del messaggio.
- Stampa del corpo del messaggio e delle intestazioni.
- Stampa di un corpo HTML.
- Impostazione del layout della pagina.
- Adattamento automatico di un TIFF alla stampante.
- Regolazione della DPI di destinazione per il TIFF di output.
La classe centrale per queste operazioni è MailPrinter. Il suo Print il metodo accetta un MailMessage, un nome file di output e un PrintFormat valore (XPS oppure Tiff).
Stampa del corpo del messaggio
Il frammento di codice seguente crea un messaggio e lo stampa senza intestazioni, prima in un file XPS e poi in un file TIFF. Imposta il FormattingFlags proprietà per MessageFormattingFlags.None per visualizzare solo il corpo del messaggio.
// 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);
Stampa delle intestazioni e del corpo del messaggio
Per visualizzare e stampare le intestazioni del messaggio insieme al corpo del messaggio, modifica il FormattingFlags a MessageFormattingFlags.MailInfo.
printer.FormattingFlags = Aspose.Email.Printing.MessageFormattingFlags.MailInfo;
Stampa di un Messaggio con un Corpo HTML
I messaggi con un corpo HTML possono anche essere stampati. Imposta il contenuto HTML usando il HtmlBody proprietà prima della stampa.
// 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>";
Impostare il layout della pagina per la stampa
MailPrinter fornisce controlli per impostare le seguenti proprietà di layout della pagina:
|Proprietà|Descrizione|Valore predefinito| | :- | :- | :- | |FormattingFlags|Mostra o nascondi i dettagli del messaggio.|None [1]| |MarginTop|Ottieni o imposta il margine superiore.|0.5| |MarginLeft|Ottieni o imposta il margine sinistro.|0.5| |MarginBottom|Ottieni o imposta il margine inferiore.|0.5| |MarginRight|Ottieni o imposta il margine destro.|0.5| |PageUnit|Ottieni o imposta le unità di misura.|Inch [2]| |PageHeight|Ottieni o imposta l’altezza della pagina.|11.69| |PageWidth|Ottieni o imposta la larghezza della pagina.|8.27|
- [1] Ci sono due flag:
MailInfoeNone. - [2] Le unità di pagina possono essere una di
Inch,Pixel,Point,Cm, oMillimeter.
Il frammento di codice sottostante utilizza impostazioni arbitrarie per illustrare come queste proprietà sono usate. Imposta una pagina alta 20 cm e larga 8 cm, con margini di 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;
Adatta automaticamente un TIFF
Aspose.Email.Printing fornisce il MessageFormattingFlags.AutoFitWidth segnalazione, che consente di adattare automaticamente il TIFF alla stampante. Il frammento di codice seguente mostra come usare l’adattamento automatico.
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);
Regola il DPI di destinazione per il TIFF di output
Usa il DpiX e DpiY proprietà per controllare la risoluzione del TIFF di output.
// 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);