進行中の要件の一部として、Visual Studio 2008 を使用して、Visual Basic 6 を使用して構築された従来の Windows フォーム アプリを .net Framework 3/3.5 に移行しています。要件があります: プリンターのリストを取得します。プリンターは、ネットワーク上の離れた場所に存在します。ユーザーがプリンターを選択した場合、システムはその特定のプリンターに Crystal レポートを印刷できる必要があります。Crystal Report Viewer を使用してレポートをプレビューしていますが、Crystal Report Viewer でレポートを呼び出すとすぐに、ネットワーク上のプリンターのドロップダウン リストで選択したプリンターにもレポートが送信されます。ネットワーク上のリモート プリンタに印刷するにはどうすればよいですか? 要件の一部としてこれを達成するために、c# と vs 2008 を使用しています。
質問する
1024 次
1 に答える
0
私がやったことは次のとおりです。
- データベース検索、XML ファイルなどを使用して、ネットワーク プリンター名 (\server\printer1、\server\printer2 など) のリストを手動で管理します。
- クライアント ページで、プリンターのドロップダウンをレンダリングし、[印刷] ボタンを追加します。
- これらのコントロールのすぐ下で、標準の印刷/エクスポート オプションを使用せずに Crystal Viewer をレンダリングします。
- クライアントがフォーム/ページを送信すると、ドロップダウン プリンター ID に基づいてサーバー側の印刷を行います。
IIS で実行される無料の Crystal ランタイムを使用したサーバー側の印刷には、2 つのオプションがあります。
古い非推奨の方法:
reportDocument.PrintToPrinter({printer settings}, {page settings}, {reformat})
. {printer settings} でプリンター名を渡します。好ましい方法:
printOutputController.PrintReport({print options})
注: 方法 2 では、プリンター名は大文字と小文字が区別されSystem.Drawing.PrinterSettings.InstalledPrinters()
、.NET プロセスを実行しているユーザーに表示されるようにインストールする必要があります。
于 2013-03-06T13:26:44.653 に答える