收集打印程序所要的东西 不指定

Else , 2009/12/08 17:21 , 代码片段,演示也有 , Comments(3) , Reads(1114) , Via Original
測試列印資料
主要读cnblogs的
csdn的,有关于
打印


   public  Microsoft.Office.Interop.Word.Application app = null;
        public Microsoft.Office.Interop.Word.Document doc = null;

        /// <summary>
        /// 測試列印資料
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_print_test_Click(object sender, EventArgs e)
        {
//開始
            
      
      


                    



                        #region 列印機的打印操作

                        //讀取模板


                      
                        object missing = System.Reflection.Missing.Value;
                        object templateFile = Application.StartupPath + @"\qjt.doc";
                        try
                        {
                            app = new Microsoft.Office.Interop.Word.ApplicationClass();
                            doc = app.Documents.Add(ref templateFile, ref missing, ref missing, ref missing);

                            //打印 接入指定打印機
                            doc.Application.ActivePrinter = txt_printer_list.Text;
                            //打印几份
                            object fenliang = 1;
                            doc.PrintOut(ref missing, ref missing, ref missing, ref missing,
                                ref missing, ref missing, ref missing, ref fenliang, ref missing,
                                ref missing, ref missing, ref missing, ref missing, ref missing,
                                ref missing, ref missing, ref missing, ref missing);


                            doc.PrintOut(ref missing, ref missing, ref missing, ref missing,
                               ref missing, ref missing, ref missing, ref fenliang, ref missing,
                               ref missing, ref missing, ref missing, ref missing, ref missing,
                               ref missing, ref missing, ref missing, ref missing);



                            doc.PrintOut(ref missing, ref missing, ref missing, ref missing,
                               ref missing, ref missing, ref missing, ref fenliang, ref missing,
                               ref missing, ref missing, ref missing, ref missing, ref missing,
                               ref missing, ref missing, ref missing, ref missing);



                            doc.PrintOut(ref missing, ref missing, ref missing, ref missing,
                               ref missing, ref missing, ref missing, ref fenliang, ref missing,
                               ref missing, ref missing, ref missing, ref missing, ref missing,
                               ref missing, ref missing, ref missing, ref missing);



                            doc.PrintOut(ref missing, ref missing, ref missing, ref missing,
                               ref missing, ref missing, ref missing, ref fenliang, ref missing,
                               ref missing, ref missing, ref missing, ref missing, ref missing,
                               ref missing, ref missing, ref missing, ref missing);


                            doc.PrintOut(ref missing, ref missing, ref missing, ref missing,
                               ref missing, ref missing, ref missing, ref fenliang, ref missing,
                               ref missing, ref missing, ref missing, ref missing, ref missing,
                               ref missing, ref missing, ref missing, ref missing);





                        }
                        catch (Exception exp)
                        {
                            MessageBox.Show(exp.Message, this.Text);
                        }
                        //销毁word进程
                        finally
                        {
                            object saveChange = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
                            if (doc != null)
                                doc.Close(ref saveChange, ref missing, ref missing);
                            if (app != null)
                                app.Quit(ref missing, ref missing, ref missing);


                        }

                        //讀取標籖



                        #endregion


                    
      
            
            //結束



        }


Quotation
隐藏很讨厌的“取消”打印对话框,并通过异步回调,取得异步操作的返回结果

以打印为例:
using System.Drawing.Printing;
首先:声明委托
delegate void PrintInBackgroundDelegate();
private TextPrintDocument printDoc = new TextPrintDocument();

private void toPrint()
{
  //连续打印时,加入打印控制器,隐藏很讨厌的“取消”打印对话框。
  PrintController printController = new StandardPrintController();
  printDoc.PrintController = printController;

  printDoc.PrintPage+=new PrintPageEventHandler(printDoc_PrintPage);

  PrintInBackgroundDelegate d = new

PrintInBackgroundDelegate(PrintInBackground);
  d.BeginInvoke(new AsyncCallback(PrintInBackgroundComplete), null);
}

private void printDoc_PrintPage(object sender, PrintPageEventArgs e)
{
  e.Graphics.DrawImage(pictureBox1.Image,1,1);
}

        private void PrintInBackground()
        {
            try
            {
                printDoc.Print();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, Application.ProductName, MessageBoxButtons.OK,

MessageBoxIcon.Error);
            }
        }

        private void PrintInBackgroundComplete(IAsyncResult r)
        {
     //messagebox.show("异步打印操作已经处理完毕");
}

Else Email Homepage
2009/12/11 17:57
main()
{
Thread thr = new Thread(new ThreadStart(StartRun));
            thr.Start();
}


        private void StartRun()
        {
            Run();
        }

public void Run()
        {
            //执行一次的过程

            //循环读取设备中的记录,存入发送短信队列
            List<string> ReaderValueList = new List<string>();
            while (dal_Z8.GetReaderCount(this.Addr) != 0)
            {
                ReaderValueList.AddRange(dal_Z8.GetReader(this.Addr));
            }
            //根据取得的数据,获取发送短信数据列表
            if (ReaderValueList.Count > 0)
            {
                //建立短信对象
                NoteDAL_KeQiJu dal_Note = new NoteDAL_KeQiJu();

                foreach (string ReaderValue in ReaderValueList)
                {
                    StructInfo m = GetCardID(ReaderValue);
                    if (m != null)
                    {
                        if (m.StudentParentHandPhone != "")
                        {
                            dal_Note.SendMessage(this.NoteUserID, this.NoteUserPwd, m.StudentParentHandPhone, m.MessageContent, "");
                            dal_Z8.ErrMessage = "向 " + m.StudentParentHandPhone +  " 发送:" + m.MessageContent;
                            AllSendNumber++;
                        }
                    }
                }
            }
        }
线程中处理窗口信息 要用到委托

dal_Z8.OnMessageChage += new EventHandler(dal_Z8_OnMessageChage);


        void dal_Z8_OnMessageChage(object sender, EventArgs e)
        {
            SmartCard.MessageEventArgs E = (SmartCard.MessageEventArgs)e;
            this.listBox1.Items.Add(E.ErrMessage.ToString());
        }
Else Email Homepage
2009/12/09 11:18
public string GetContentSummary(string content, int length, bool StripHTML)
        {
            if (string.IsNullOrEmpty(content) || length == 0)
                return "";
            if (StripHTML)
            {
                System.Text.RegularExpressions.Regex re = new System.Text.RegularExpressions.Regex("<[^>]*>");
                content = re.Replace(content, "");
                content = content.Replace("﹛", "").Replace(" ", "").Replace("&nbsp;", "");
                if (content.Length <= length)
                    return content;
                else
                    return content.Substring(0, length) + "...";
            }
            else
            {
                if (content.Length <= length)
                    return content;

                int pos = 0, npos = 0, size = 0;
                bool firststop = false, notr = false, noli = false;
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                while (true)
                {
                    if (pos >= content.Length)
                        break;
                    string cur = content.Substring(pos, 1);
                    if (cur == "<")
                    {
                        string next = content.Substring(pos + 1, 3).ToLower();
                        if (next.IndexOf("p") == 0 && next.IndexOf("pre") != 0)
                        {
                            npos = content.IndexOf(">", pos) + 1;
                        }
                        else if (next.IndexOf("/p") == 0 && next.IndexOf("/pr") != 0)
                        {
                            npos = content.IndexOf(">", pos) + 1;
                            if (size < length)
                                sb.Append("<br />");
                        }
                        else if (next.IndexOf("br") == 0)
                        {
                            npos = content.IndexOf(">", pos) + 1;
                            if (size < length)
                                sb.Append("<br />");
                        }
                        else if (next.IndexOf("img") == 0)
                        {
                            npos = content.IndexOf(">", pos) + 1;
                            if (size < length)
                            {
                                sb.Append(content.Substring(pos, npos - pos));
                                size += npos - pos + 1;
                            }
                        }
                        else if (next.IndexOf("li") == 0 || next.IndexOf("/li") == 0)
                        {
                            npos = content.IndexOf(">", pos) + 1;
                            if (size < length)
                            {
                                sb.Append(content.Substring(pos, npos - pos));
                            }
                            else
                            {
                                if (!noli && next.IndexOf("/li") == 0)
                                {
                                    sb.Append(content.Substring(pos, npos - pos));
                                    noli = true;
                                }
                            }
                        }
                        else if (next.IndexOf("tr") == 0 || next.IndexOf("/tr") == 0)
                        {
                            npos = content.IndexOf(">", pos) + 1;
                            if (size < length)
                            {
                                sb.Append(content.Substring(pos, npos - pos));
                            }
                            else
                            {
                                if (!notr && next.IndexOf("/tr") == 0)
                                {
                                    sb.Append(content.Substring(pos, npos - pos));
                                    notr = true;
                                }
                            }
                        }
                        else if (next.IndexOf("td") == 0 || next.IndexOf("/td") == 0)
                        {
                            npos = content.IndexOf(">", pos) + 1;
                            if (size < length)
                            {
                                sb.Append(content.Substring(pos, npos - pos));
                            }
                            else
                            {
                                if (!notr)
                                {
                                    sb.Append(content.Substring(pos, npos - pos));
                                }
                            }
                        }
                        else
                        {
                            npos = content.IndexOf(">", pos) + 1;
                            sb.Append(content.Substring(pos, npos - pos));
                        }
                        if (npos <= pos)
                            npos = pos + 1;
                        pos = npos;
                    }
                    else
                    {
                        if (size < length)
                        {
                            sb.Append(cur);
                            size++;
                        }
                        else
                        {
                            if (!firststop)
                            {
                                sb.Append("...");
                                firststop = true;
                            }
                        }
                        pos++;
                    }

                }
                return sb.ToString();
            }
        }
Else Email Homepage
2009/12/09 10:49
public static string ClearHTML(string content)
    {      
        content = Regex.Replace(content, "<[^>]+>", "", RegexOptions.IgnoreCase | RegexOptions.Singleline);
        return content;
    }
Pages: 1/1 First page 1 Final page
Add a comment

Nickname

Site URI

Email

Enable HTML Enable UBB Enable Emots Hidden Remember [Login] [Register]