E‑Mail‑Nachrichten in XPS und TIFF drucken
Die Aspose.Email.Printing Der Namensraum bietet eine umfangreiche Menge an Funktionen zum Drucken von Mail‑Nachrichten in verschiedene Formate (XPS oder TIFF) und zur Konfiguration von Seitenlayouts. Dieser Artikel beschreibt sie. Es gibt mehrere Optionen, wie eine E‑Mail‑Nachricht mit Aspose.Email gedruckt werden kann:
- Nur den Nachrichtenkörper drucken.
- Drucken von Nachrichtenkörper und Headern.
- Drucken eines HTML‑Körpers.
- Seitenlayout festlegen.
- Automatisches Anpassen einer TIFF an den Drucker.
- Anpassen der Ziel‑DPI für die ausgegebene TIFF‑Datei.
Die zentrale Klasse für diese Vorgänge ist MailPrinter. Seine Print Methode akzeptiert ein MailMessage, einen Ausgabedateinamen und ein PrintFormat Wert (XPS oder Tiff).
Drucken des Nachrichtenkörpers
Der folgende Codeausschnitt erstellt eine Nachricht und druckt sie ohne Header, zuerst in eine XPS‑Datei und dann in eine TIFF‑Datei. Setzen Sie den FormattingFlags Eigenschaft zum MessageFormattingFlags.None um nur den Nachrichten‑Body anzuzeigen.
// 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);
Drucken von Nachrichten-Headern und -Body
Um die Nachrichten‑Header zusammen mit dem Nachrichten‑Body anzuzeigen und zu drucken, ändern Sie das FormattingFlags zu MessageFormattingFlags.MailInfo.
printer.FormattingFlags = Aspose.Email.Printing.MessageFormattingFlags.MailInfo;
Drucken einer Nachricht mit HTML-Body
Nachrichten mit einem HTML-Body können ebenfalls gedruckt werden. Setzen Sie den HTML-Inhalt mit dem HtmlBody Eigenschaft vor dem Druck.
// 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>";
Seitengestaltung für den Druck festlegen
MailPrinter stellt Steuerungen zum Setzen der folgenden Seitengestaltungs‑Eigenschaften bereit:
|Eigenschaft|Beschreibung|Standardwert| | :- | :- | :- | |FormattingFlags|Nachrichtendetails anzeigen oder verbergen.|None [1]| |MarginTop|Oberen Rand abrufen oder setzen.|0.5| |MarginLeft|Linken Rand abrufen oder setzen.|0.5| |MarginBottom|Unterem Rand abrufen oder setzen.|0.5| |MarginRight|Rechten Rand abrufen oder setzen.|0.5| |PageUnit|Messeinheiten abrufen oder setzen.|Inch [2]| |PageHeight|Seitenhöhe abrufen oder setzen.|11.69| |PageWidth|Seitenbreite abrufen oder setzen.|8.27|
- [1] Es gibt zwei Flags:
MailInfoundNone. - [2] Seiteneinheiten können sein
Inch,Pixel,Point,Cm, oderMillimeter.
Der untenstehende Codeausschnitt verwendet willkürliche Einstellungen, um zu veranschaulichen, wie diese Eigenschaften verwendet werden. Er richtet eine Seite von 20 cm Höhe und 8 cm Breite mit 2 cm Rand ein.
// 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 anpassen
Aspose.Email.Printing stellt die MessageFormattingFlags.AutoFitWidth Flag, das es erlaubt, das TIFF automatisch an den Drucker anzupassen. Der folgende Codeausschnitt zeigt die Verwendung von 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);
Ziel‑DPI für das Ausgabe‑TIFF anpassen
Verwenden Sie die DpiX und DpiY Eigenschaften zur Steuerung der Auflösung des ausgegebenen 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);