C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

C# + WPF, 用紙サイズのユーザー定義設定

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■95935 / inTopicNo.1)  C# + WPF, 用紙サイズのユーザー定義設定
  
□投稿者/ S.Kos (30回)-(2020/10/10(Sat) 14:01:06)

分類:[.NET 全般] 

みなさま、こんにちは。

WPFによる「EPSON PX-049A」の制御について、重ねてご教示ください。

先にも記したように、長3封筒へは、
ticket.PageMediaSize = new PageMediaSize(PageMediaSizeName.JapanChou3Envelope);
ticket.PageOrientation = PageOrientation.Portrait;
とすることで、自動的に180度回転し、問題なく書き出されています。

これに倣って、用紙サイズのユーザー定義を、
PaperWidth = 116 //ミリ単位
PaperHeight= 272 //ミリ単位
ticket.PageMediaSize = new PageMediaSize( PageMediaSizeName.Unknown, (double)(PaperWidth / 25.4 * 96), (double)(PaperHeight / 25.4 * 96));
ticket.PageOrientation = PageOrientation.Landscape;
としたのですが、巧くデキません。

用紙向き(印字方向?)は問題ないように見えていますが、用紙サイズはA4のままです。

どこで間違っているのでしょうか?

(先の板を解決済みにしていませんでした。先ほど・・・ご容赦ください。)
引用返信 編集キー/
■96358 / inTopicNo.2)  Re[1]: C# + WPF, 用紙サイズのユーザー定義設定
□投稿者/ S.Kos (31回)-(2020/11/13(Fri) 13:18:02)
みなさま、こんにちは。
おそらく「自力更生(笑)」できた・・と思います。

不具合を生じた版は、
PrintTicket retTicket = queue.DefaultPrintTicket;
として取得した'retTicket'を書き換えていました。

これを、
PrintTicket retTicket = new PrintTicket();
と、新たに取得した'retTicket'に

retTicket.PageMediaSize = new PageMediaSize( PageMediaSizeName.Unknown, (double)(ListFmCom.PaperWidth / 25.4 * 96), (double)(ListFmCom.PaperHeight / 25.4 * 96));
とセットし、最後に、
queue.UserPrintTicket = retTicket;
queue.Commit();

を実行することでOKと思われます。
(詳細な点検はこれからです)

このことについて、皆様の見解をお聞かせください。

引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ