首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# PrintDocument调用针式打印机没有反应,调用普通打印机可以打出来, 求!

2013-08-04 
C# PrintDocument调用针式打印机没有反应,调用普通打印机可以打出来, 求高手指点!!!十万火急, 客户催得我

C# PrintDocument调用针式打印机没有反应,调用普通打印机可以打出来, 求高手指点!!!
十万火急, 客户催得我想跳楼

这是我的打印代码


 public PrintDocument pdDocument;
        public PageSetupDialog dlgPageSetup;
        public PrintPreviewDialog ppd;
        public PrintDialog pd;
        private string[] lines;

        public string[] Lines
        {
            get
            {
                if (ViewState["Lines"] != null)
                    return ViewState["Lines"] as string[];
                return null;
            }
            set
            {
                lines = value;
                ViewState["Lines"] = lines;
            }
        }

        public PrintHelper()
        {
            pdDocument = new PrintDocument();
            dlgPageSetup = new PageSetupDialog();
            ppd = new PrintPreviewDialog();
            pd = new PrintDialog();
            dlgPageSetup.Document = pdDocument;
            pd.Document = pdDocument;
            ppd.Document = pdDocument;
            pdDocument.PrintPage += new PrintPageEventHandler(pdDocument_PrintPage);


            pdDocument.BeginPrint += new PrintEventHandler(pdDocument_BeginPrint);
            pdDocument.EndPrint += new PrintEventHandler(pdDocument_EndPrint);
        }

        void pdDocument_EndPrint(object sender, PrintEventArgs e)
        {
            lines = null;
        }

        void pdDocument_BeginPrint(object sender, PrintEventArgs e)
        {

        }

        /// <summary>
        /// 开始打印 
        /// </summary>
        public void Print()
        {
            try
            {
                pdDocument.Print();
            }
            catch (InvalidPrinterException ex)
            {
                File.WriteAllText("c://test.txt", ex.Message, Encoding.UTF8);
            }
        }


        void pdDocument_PrintPage(object sender, PrintPageEventArgs e)
        {
            int x = 20;
            int y = 20;
            int count = 0;
            while (count < Lines.Length)
            {
                e.Graphics.DrawString(Lines[count], new Font("微软雅黑", 20), System.Drawing.Brushes.Black, x, y);


                y += 50;
                count++;
            }
            count = 0;
            e.HasMorePages = false;
        }



打印机用的佳博GP-7635III 76m针式打印机。 
无奈无论如何也打印不出来。

求高手指点 !!!
[解决办法]
楼主加油,帮楼主顶!!!
[解决办法]
PrintDocument支持佳博打印机?
[解决办法]
  未必所有的打印机都会使用微软提供的打印接口,联系打印机生产商,找打印接口。用C#调用试试看。
[解决办法]
引用:
我怀疑是不是针式打印机驱动没有安装好。  


热点排行