当前位置: 代码迷 >> Web Service >> winform 打印时化表格解决办法
  详细解决方案

winform 打印时化表格解决办法

热度:290   发布时间:2012-02-14 19:19:19.0
winform 打印时化表格
有一个winform窗体,用了两个控件,一个是webBrowser1,一个是printDialog1,
是通过webservice将图片路径从数据库里得到显示在窗体上,然后通过Pen linePen = new Pen(Color.Black)画出像表格一样的格式,将图排尿放在这个表格里然后印出来,
不知道怎么实现,怎样修改下面的代码啊

因为我对webservice不了解,我们老大又让我修改,所以请大家帮帮忙,

------解决方案--------------------
C# code
FileStream fs = new FileStream(strImageSource, FileMode.Open, FileAccess.Read);
Image image = System.Drawing.Image.FromStream(StreamToPrint);      
System.Drawing.Rectangle destRect = new System.Drawing.Rectangle(topMargin, leftMargin, width, height);   

                   System.Drawing.Rectangle destRect = new System.Drawing.Rectangle(topMargin, leftMargin, width, height);   
                //向画布写入图片   
                 for (int i = 0; i < Convert.ToInt32(Math.Floor((double)image.Height/ 820)) + 1; i++)   
                   {   
                         
                       e.Graphics.DrawImage(image, destRect, i*820,i*1170 , image.Width, image.Height, System.Drawing.GraphicsUnit.Pixel);   
                       //走纸换页   
                       if (i * 1170 >= e.PageBounds.Height - 60)//页面累加的高度大于页面高度。根据自己需要,可以适当调整   
                        {   
                           //如果大于设定的高   
                           e.HasMorePages = true;   
                        /*  
                           * PrintPageEventArgs类的HaeMorePages属性为True时,通知控件器,必须再次整用OnPrintPage()方法,打印一个页面。  
                           * PrintLoopI()有一个用於每个要打印的页面的序例。如果HasMorePages是False,PrintLoop()就会停止。  
                          */  
                           return;   
                      } 
  相关解决方案