###前提・実現したいこと
現在、WPFで業務アプリケーションを作成しています。
FixedDocumentを作成して、帳票の印刷を行っているのですが、
一部の帳票をOKI MICROLINE 8480SU2-Rのフロントトラクタという連続用紙用のトレイから
印刷する必要があります。
しかし、プリンターのPrintQueue.PrintTicket.InputBinには該当する給紙トレイの入力
ビンが存在していません。
Windows8.1以降では給紙トレイが自動選択となっていても問題なくフロントトラクタから
印刷が行われるようなのですが、Windows7で印刷しようとすると、うまくフロントトラクタ
から印刷できないのです。
印刷ダイアログを表示する方法、またはXpxDocumentWriterから直接印刷する方法の
どちらでも試したのですが、正しく印刷できません。
WPFからprintui.dllのようにプリンタードライバーの設定情報を直接呼び出すなどして印刷
することは出来ないのでしょうか?
###該当のソースコード
C#
1 var printer = PrinterSelector.SelectedPrinterOrNull; 2 var pdlg = new PrintDialog(); 3 pdlg.PrintQueue = printer.printQueue; 4 pdlg.UserPageRangeEnabled = true; 5 // 一番近いと思われる設定を選択してみるが、フロントトラクタは選択されない 6 //pdlg.PrintTicket.InputBin = InputBin.Tractor; 7 8 // 印刷ダイアログ表示 9 if (pdlg.ShowDialog() == true) 10 { 11 // 印刷ダイアログの詳細設定で給紙トレイを正しく設定した後、 12 // ここでpdlg.PrintTicket.InputBinを確認するとUnknownとなっている 13 14 var pages = new DataGridPrintablePaginator<Order>().PrintPaginate( 15 new OrderAdjust(Order, OrderDetails), pageSize, max, last); 16 17 // Set up print ticket. 18 var ticket = pdlg.PrintTicket; 19 //var ticket = printer.printQueue.DefaultPrintTicket; 20 ticket.PageMediaSize = new PageMediaSize(pageSize.Width, pageSize.Height); 21 ticket.PageOrientation = PageOrientation.Portrait; 22 ticket.CopyCount = pdlg.PrintTicket.CopyCount; 23 ticket.Collation = Collation.Collated; 24 25 var document = new FixedDocumentCreator().FromDataContextsByMicroLine(pages, pageSize); 26 pdlg.PrintDocument(document.DocumentPaginator, "納品書"); 27 }
宜しくお願い致します。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/27 04:26