コード例 #1
0
ファイル: NoteForm.cs プロジェクト: renyh/dp2mini
        /// <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;
            }
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
ファイル: NoteForm.cs プロジェクト: renyh/dp2mini
        /// <summary>
        /// 打印预约
        /// </summary>
        /// <param name="noteId"></param>
        private void PrintPreview(Note note)
        {
            Cursor oldCursor = this.Cursor;

            this.Cursor = Cursors.WaitCursor;

            string printTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

            this.OutputPrintFile(note);
            CardPrintForm dlg = new CardPrintForm();

            dlg.CardFilename = this._printFilename;  // 卡片文件名
            dlg.PrintPreviewFromCardFile();

            this.Cursor = oldCursor;
        }