以下のコードを使用してデータベースからファイルを取得し、ドロップダウンリストに入力されたインストール済みプリンターから選択したプリンターで印刷しています。私の問題は、Printjob.Start()の使用中に例外がスローされ、指定されたファイルが見つかりません。
私のコードは、
protected void ggvqpdetail_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.ToUpper().ToString() == "PRINTREC")
{
try
{
// Set the printer to a printer in the dropdown box when the selection changes.
PrintDocument printDoc = new PrintDocument();
string a = TextBox1.Text + TextBox2.Text + TextBox3.Text;
DataSet ds = ExamManagement.SP.Eval_QP_PrintSelect(a).GetDataSet();
if (ddlprint.SelectedIndex != -1 && ds.Tables[0].Rows.Count > 0)
{
// The dropdown box's Text property returns the selected item's text, which is the printer name.
printDoc.PrinterSettings.PrinterName = ddlprint.Text;
Process printJob = new Process();
printJob.StartInfo.FileName = ds.Tables[0].Rows[0]["Data"].ToString();
printJob.StartInfo.UseShellExecute = true;
printJob.StartInfo.Verb = "printto";
printJob.StartInfo.CreateNoWindow = true;
printJob.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
printJob.StartInfo.Arguments = ddlprint.Text;
printJob.StartInfo.WorkingDirectory = Path.GetDirectoryName(ds.Tables[0].Rows[0]["Data"].ToString());
printJob.Start();
}
}
catch(Exception ex)
{
Lblmsg.Visible = true;
Lblmsg.Text = ex.Message;
}
}
}