メールメッセージを XPS と TIFF に印刷

この Aspose.Email.Printing 名前空間は、メールメッセージをさまざまな形式(XPS または TIFF)で印刷し、ページレイアウトを構成するための豊富な機能を提供します。この記事ではそれらについて説明します。Aspose.Email を使用してメールメッセージを印刷する方法はいくつかあります:

  1. メッセージ本文のみの印刷。
  2. メッセージ本文とヘッダーの印刷。
  3. HTML 本文の印刷。
  4. ページレイアウトの設定。
  5. TIFF をプリンターに自動適合させます。
  6. 出力 TIFF の対象 DPI を調整します。

これらの操作の中心クラスは MailPrinter を設定します。その Print メソッドは a を受け取ります MailMessage)、出力ファイル名、そして PrintFormat 値 (XPS または Tiff).

メッセージ本文の印刷

次のコードスニペットはメッセージを作成し、ヘッダーなしで印刷します。最初に XPS ファイルに、次に TIFF ファイルに出力します。次の FormattingFlags プロパティ MessageFormattingFlags.None 本文のみを表示するように設定します。

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

メッセージヘッダーと本文の印刷

メッセージヘッダーと本文を一緒に表示・印刷するには、次の設定を変更します。 FormattingFlagsMessageFormattingFlags.MailInfo.

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

HTML 本文を持つメッセージの印刷

HTML 本文を含むメッセージも印刷できます。HTML コンテンツは次のものを使用して設定します。 HtmlBody 印刷前にプロパティを設定してください。

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

印刷用ページレイアウトの設定

MailPrinter 以下のページレイアウトプロパティの設定を制御します:

|プロパティ|説明|既定値| | :- | :- | :- | |FormattingFlags|メッセージの詳細を表示または非表示にします。|None [1]| |MarginTop|上余白を取得または設定します。|0.5| |MarginLeft|左余白を取得または設定します。|0.5| |MarginBottom|下余白を取得または設定します。|0.5| |MarginRight|右余白を取得または設定します。|0.5| |PageUnit|測定単位を取得または設定します。|Inch [2]| |PageHeight|ページ高さを取得または設定します。|11.69| |PageWidth|ページ幅を取得または設定します。|8.27|

  • [1] フラグは 2 つあります: MailInfo および None.
  • [2] ページ単位は次のいずれかです Inch, Pixel, Point, Cm、または Millimeter.

以下のコードスニペットは、これらのプロパティの使用方法を示すために任意の設定を使用しています。ページ高さ 20 cm、幅 8 cm、余白 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 の自動合わせ

Aspose.Email.Printing 提供します MessageFormattingFlags.AutoFitWidth フラグで、TIFF をプリンターに自動適合させることができます。以下のコードスニペットは自動適合の使用例です。

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

出力 TIFF のターゲット DPI を調整

使用する DpiX および DpiY 出力 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);