お世話になります。
下記のように書きました。①でプリンタ指定、②で用紙のサイズ指定し、dPrt.PrintVisual()の直前にはちゃんと指定した変数が割り当てられていますが、いざ印刷するとデフォルト(通常使うプリンタ:A4サイズ)で印刷してしまいます。
テストしているパソコンには、Aプリンタ(通常使うプリンタ:トレイ4指定のA4サイズ)とBプリンタ(トレイ3指定のB5設定のプリンタ)があります。
任意で、A4とB5を指定して印刷したいです。
Windows8.1 VS2010 C# WPF
// 印刷ダイアログを作成。
var dPrt = new PrintDialog();
// 印刷可能領域を取得する。
var area = dPrt.PrintQueue.GetPrintCapabilities().PageImageableArea;
// 用紙サイズの設定
LocalPrintServer lps = new LocalPrintServer();
PrintQueue queue = lps.GetPrintQueue(prnMei); //プリンタ名を指定。 ・・・①
:
印刷内容をゴニョゴニョと書く
:
// 用紙設定 ////////////////////// 用紙設定可能か確認 ////////////////////////////
PrintTicket ticket = queue.DefaultPrintTicket;
ticket.PageMediaSize = new PageMediaSize(PageMediaSizeName.ISOB5Extra); ・・・・②
ticket.PageOrientation = PageOrientation.Portrait;
dPrt.PrintTicket = ticket;
// ///////////////////////////////////////////////////////////////////////////////
dPrt.PrintQueue = queue;
// Xmal で書いたように印刷したい
stack1.Measure(new Size(/*dialog*/dPrt.PrintableAreaWidth, /*dialog*/dPrt.PrintableAreaHeight));
stack1.Arrange(new Rect(new Point(50, 50), stack1.DesiredSize));
// プレビュー
//if (bPreView)
// ShowDialog();
//else
dPrt.PrintVisual(stack1, "イメージ");
よろしくお願いします。