これはよくある質問だと思いますが、私に適した答えが見つかりません。以下のシナリオを検討してください。
シナリオレストラン向けのVS2010用のSAP Crystal Reportを使用して、 C# Winformアプリケーションを
開発しました。注文を完了した後、請求書をプリンターに直接印刷する必要があります。以下は私が使用しているコードです。
oMainOrder.SetDataSource(oDSOrderReport);
if (_sPrintOrShow.ToLower() == "print")
{
oMainOrder.PrintOptions.PrinterName = printDialog.PrinterSettings.PrinterName;
//Above line provides the name of the default printer, which is also my target printer
oMainOrder.PrintToPrinter(1, false, 0, 0);
}
else
{
frmShowReport reportViewerForm = new frmShowReport(oDSOrderReport);
reportViewerForm.ShowDialog();
}
_sPrintOrShowは、請求書をプリンターに直接送信するか、レポート ビューアー フォームに読み込むかを決定する変数です。_sPrintOrShowがprintに設定されている場合、請求書がプリンターに送信される可能性があります。私の側と私の USB プリンターでは、これで問題なく動作します。しかし、これと同じ解決策をクライアントに提供すると、「Invalid Printer Specified」という例外が発生します。さらにイライラするのは、請求書がレポート ビューアー フォームに読み込まれている場合、そこから同じプリンターで問題なく請求書を印刷できることです。まったくわからないのですが、どうしてこうなったのでしょうか?以前に行ったように、これで私を助けてくれる人はいますか? ありがとう。