我现在写一个需要连打的程序,可以打印 但是不知道怎么实现连打!急死了!请前辈指点!

解决方案 »

  1.   

    http://www.google.com/search?hl=zh-CN&newwindow=1&q=C%23+%E6%89%93%E5%8D%B0+%E8%BF%9E%E7%BB%AD&lr=
      

  2.   

    qa2005-02-06 07:37); 利用IE的控件打印连续的几个页面,如何控制针式打印机不向前疯狂 进纸???(2005-04-27 11:31); vb6.0不支持ACCESS2000或2003怎么解决(2003-10-21 02:07); 如何制作DLL?(2004-10-16 10:09); 利用IE的控件打印连续的几个页面,如何控制针式 ...
    qa.yesky.com/his/his_6462.shtml - 36k - 网页快照 - 类似网页 
    vdonkey: C#.NET 打印连续纸高度动态变化(基于长江支流的金质打印通)C#.NET 打印连续纸高度动态变化(基于长江支流的金质打印通). 问题是这样的,打印机 使用的是卷筒的连续纸,要打印的内容因为数据行数不同,高度会有变化 ... 此项的引用 通告URL 是:. 引用此项的网络日志. 谈论C#.NET 打印连续纸高度动态变化(基于长... ...
    spaces.msn.com/vdonkey/blog/cns!62287A6E4F2FCA02!105. entry?_c11_blogpart_blogpart=blogview&_c=blogpart - 30k - 补充材料 - 网页快照 - 类似网页 
    LookSmart's Furl - View Item - C#.NET 打印连续纸高度动态变化(基于 ...C#.NET 打印连续纸高度动态变化(基于长江支流的金质打印通). Rated 4 in .NET技术by liberpike on Feb 17, 2006 at 14:13:55 GMT. (22 views). 问题是这样的,打印机使用 的是卷筒的连续纸,要打印的内容因为数据行数不同,高度会有变化。 ...
    www.furl.net/item.jsp?id=7098000 - 15k - 补充材料 - 网页快照 - 类似网页 
    千招百式,玩“活”Word打印,jsp,asp,sql,php,mysql,server,apache,iis ...单击“打印”列表框中的“奇数页”选项,你可以将Word文稿中所有页码为奇数的不连续页面 内容打印出来,要是选中“偶数页”的话,Word文稿中 ... 除了可以将特定的整页页面内容 打印出来外,WordXP还支持打印特定章节的内容,这也包括打印连续章节和不连续章节。 ...
    www.knowsky.com/4841.html - 50k - 网页快照 - 类似网页 
      

  3.   


    Sign up · Log in 
    Main View · My Topics · My Headlines · My Recommendations · My Subscribers 
    C#.NET 打印连续纸高度动态变化(基于长江支流的金质打印通)  
     
     Rated 4 in .net技术 by liberpike on Feb 17, 2006 at 14:13:55 GMT. (24 views) 
    问题是这样的,打印机使用的是卷筒的连续纸,要打印的内容因为数据行数不同,高度会有变化。这时如果能在打印时动态改变纸张大小(其实只改变高度即可)当然是最好的选择。 我使用了网上久负盛名的[长江支流]的“金质打印通”做为打印控件,挺好用的。不过并不支持动态设置纸张。每次打印都使用对话框让用户进行设置肯定是不行的。 所有的代码,都是围绕“金质打印通”的CS版的OpenedCodes下的MisGoldPrinter类的构造函数展开的。下面是原始代码,供参考。 public MisGoldPrinter(bool p_IsLandscape) { PrinterSingleton.Reset(); mCurrentPageIndex = 1; mCurrentRowIndex = 0; //单一模式,全部打印对象使用下面相同的对象,提高打印速度效率 mPrintDocument = PrinterSingleton.PrintDocument; mPrintDocument.DefaultPageSettings.Landscape = p_IsLandscape; mPrinterMargins = PrinterSingleton.PrinterMargins; mPrintDocument.DocumentName = "MIS金质打印通,欢迎使用!"; _sewing = new Sewing(30,SewingDirectionFlag.Left); mPrinter = new Printer(); _body = new Body(); //主要对象,所以实例化 } 纸是400*无限大的,页边距是20,20,40,40(Left,Right,Top,Bottom)相当于5cm,5cm,10cm,10cm 先尝试了改变纸的高度: //根据行数算高度 int h = 200 + 21 * rows + 40; PrinterSingleton.PrintDocument.DefaultPageSettings.PaperSize.Height = h; 结果告诉我纸张大小不能修改,除非Kind是Custom。可是Kind明明就是Custom,我用控制面板在打印机那边已经设置了使用自定义纸张,单步调试时也看过了Kind属性确实是Custom,不过微软说不能改那就是不能改。 那我就new一个PaperSize,在构造时设置高度总行了吧 改成: int h = 200 + 21 * rows + 40; PrinterSingleton.PrintDocument.DefaultPageSettings.PaperSize = new PaperSize("name",400,h); //我的纸宽度是定值 单步调试时看了,Kind也是Custom,也打印出来东西了,不过很怪的是内容全都缩在纸中间的一小块地方,周围好大的空白,再使用金质打印通里的PageSetup重新设置页边距都不行。 于是我又加了这么一句: PrinterSingleton.PrinterMargins = new PrinterMargins(20,20,40,40,360,160 + 21 * rows); 问题还是一样。 再次单步时发现自定义的PaperSize和正常的比少点东西,它有个RawKind成员,应该说是隐藏的属性吧,自定义的对象的RawKind成员值是Custom,而正常的则是一个数字,比如285。再结合网上的一些意见,我想这打印机是肯定不认识自定义的PaperSize了。 逼到这个份上,只要能解决问题,怎么干都行。于是我选择了一种比较土的方法:在打印机上设置10几20种纸张类型,差100(合2.5cm)一个,打印时去选择最接近的。纸的名字,分别叫300,400,500...2000,方便编程。可是怎么选纸呢?金质打印通的代码里有个自定义的PrinterPageSetting对象,可能在这里面有,不过没有公开代码(有个开源学习版也许公开了,我没有看过,总之最后我找到答案了) 找来找去终于找的是这一句:PrinterSingleton.PrintDocument.PrinterSettings.PaperSizes,注意有s是个数组 因为我每次打印都要改变纸的高度,所以要传参数:数据行数。所以选纸的这部分代码不能再放到构造函数里了,增加了一个SetRows函数,修改后的代码如下: public MisGoldPrinter() //p_IsLandscape参数放到SetRows里。这会导致另外一个构造函数不能要了 { PrinterSingleton.Reset(); mCurrentPageIndex = 1; mCurrentRowIndex = 0; _sewing = new Sewing(30,SewingDirectionFlag.Left); mPrinter = new Printer(); _body = new Body(); //主要对象,所以实例化 } public void SetRows(int rows,bool p_IsLandscape) { //得到页高度 int h = 40 + 160 + 21 * rows + 40; //每行数据大约高21,160是我的页面的Header和MultiHeader的高度,是试出来的值,呵呵 //得到下一个接近的100的倍数 h = Convert.ToInt16(Math.Ceiling(h / 100f) * 100); //用ps引用一下,减少代码长度 PrinterSettings ps = PrinterSingleton.PrintDocument.PrinterSettings; //选择合适的纸张 for(int i=0;i 0 && this.RowsPerPage < RowsInCurPage) 我把它改成了: if (this.RowsPerPage > 0) 否则自己设置的行数不会被承认。可能是原来的代码计算上有点问题(长江支流不要生气啊)  
     
    http://spaces.msn.com/vdonkey/PersonalSpace.aspx  
      
     
     Copyright &copy; 2005 LookSmart, Ltd. - About Us · Privacy Policy · Terms of Service · Advertise with Us 
    LookSmart Solutions: Auto · Cities · Education · FindArticles&#8482; · Food · Furl.net · Health · Home Living · Money · Music · Recreation · Sports · Style · Tech & Games · Travel 
    Page processed in 0.0060 sec.