/// <summary> /// 打印 /// </summary> /// <param name="noteId"></param> /// -1 出错 /// 0 取消打印 /// 1 成功 private int Print(Note note, out string strError) { strError = ""; // 鼠标设为等待状态 Cursor oldCursor = this.Cursor; this.Cursor = Cursors.WaitCursor; // 输出打印文件 this.OutputPrintFile(note); CardPrintForm form = new CardPrintForm(); form.PrinterInfo = new PrinterInfo(); form.CardFilename = this._printFilename; // 卡片文件名 form.ShowInTaskbar = false; form.WindowState = FormWindowState.Minimized; form.Show(); // 必须这样写 2020/2/21 增加备注 try { return(form.PrintFromCardFile(false, out strError)); } finally { form.Close(); this.Cursor = oldCursor; } }
/// <summary> /// 测试打印 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ToolStripMenuItem_test_Click(object sender, EventArgs e) { string strError = ""; string line = null; StringBuilder sb = new StringBuilder(); string printFile = Application.StartupPath + "//print.txt"; if (File.Exists(printFile) == false) { MessageBox.Show(this, "打印不存在"); return; } using (StreamReader reader = new StreamReader("print.txt", Encoding.UTF8)) { while ((line = reader.ReadLine()) != null) { sb.Append("<p>").Append(line).Append("</p>").AppendLine(); } } using (StreamWriter writer = new StreamWriter("print.xml", false, Encoding.UTF8)) { writer.Write(WrapString(sb.ToString())); } CardPrintForm form = new CardPrintForm(); form.PrinterInfo = new PrinterInfo(); form.CardFilename = "print.xml"; // 卡片文件名 form.WindowState = FormWindowState.Minimized; form.Show(); int nRet = form.PrintFromCardFile(false, out strError); if (nRet == -1) { form.WindowState = FormWindowState.Normal; strError = strError + "\r\n\r\n以下内容未能成功打印:\r\n" + sb.ToString(); goto ERROR1; } form.Close(); return; ERROR1: MessageBox.Show(this, strError); }