这个是asp.net版块,都搞BS的,谁会回答哦。
给我sxlfybb#163com,我给你个半成品。

解决方案 »

  1.   

    补充一下,要求不预览 直接打印-->
    所以 ,用JS打印的方法好像不行
      

  2.   

    多谢,最近确实被b/s打印困扰
    目前还是没有进展
    不过还是说说自己的 过程吧,希望留给大家看看,希望大家伸出援手1关键是要 自定义格式 套打 。如果 不要求格式 ,直接调用window.print或者webrower控件的ExecWB方法来打,也很方便
    2.如果要打印 A4的页面,只要设置 边距等简单参数,可以用ScriptX,还有国内几个active插件,但是高级设置(自定义页面)好像要收费,小弟目前就是要 自定义页面(22cm*11cm),好像直接打印也无法做到。
    所以说,小弟目前难点有2个
    1.直接打印(非当前页面数据直接打印)
    2 设置页面格式(22cm*11cm)
      

  3.   

    我用rdlc实现过,你可以用这个自带的报表试试
      

  4.   

    soonssa,你好,不知道 rdlc实现是在 b/s 还是 c/s上面的,好像2者是有区别的
    rdlc实现,我也想过,因为项目是我和朋友做的,
    所以弄到现在,卡住了,试了很多都不行现在好像就rdlc和水晶报表没有弄了,如果方便,soonssa可否提供代码参考下,本人email cdxkfc#163.com
      

  5.   

    ,请问有winform下的套打控件吗?
      

  6.   

    http://www.cnblogs.com/surprise/archive/2005/06/17/176144.html
    可以实现
      

  7.   

    做过cs的套打,没有用控件,只是把要打印的内容存到一个dataset里,重写printDocument_PrintPage方法,将要打印的数据集,和具体数据对应纸的上左边距传进去,打印即可。希望对你有帮助
      

  8.   

    livesw ,你好 ScriptX是国外的active控件,如果用其基本功能,是免费的,可是,高级功能就不能使用了
    比如说我要求的自定义页面11*22cm,国内导师也不少active控件,不过都是收费的,郁闷
      

  9.   

    by the way,cs打印确实比bs方便多了,只是调用本地的打印机,bs是客户端用脚本语言调客户端打印机
    window.print或者webrower控件的ExecWB,对于有格式要求的 打印就不够用了卡就卡在这里了,不知道有没有解决方法
      

  10.   

    http://www.cnblogs.com/Yahong111/archive/2007/10/08/917176.html
    建议你看看这个,我就这个,不过它也是设计页面,但可以显示打印预览,或直接打印,自定义纸张,连打。国人开发的控件,不过要求客户端要自动安装。或解压出来dll文件,做一个Winrar自解压注册文件。就可以了。我现在在用。
      

  11.   

    你好 livesw ,你说的我也明白,就是 在打印机里面设定自定义纸张 ,比如说 11cm*22cm,然后让打印机默认就打这个,这个实现了自定义大小,是OK的
    我也不怕好笑,本人第一次用打印机,也没有发票卷纸做试验,只好放 A4纸进去,处纸的时候好像出的是 a4的长度。不知道是否打印机可否设置出纸的长度(手上没设备,也没办法做试验)
      

  12.   

    多谢 nihongyuan  提供这么好的 免费activex控件,边距,页数什么的不用在打印机中设置了,确实很方便,不过每次运行后都有js错误
    不知道是 我配置错误,还是程序的bug
      

  13.   

    现在的问题转变成-》走纸如何控制
    1.程序控制??
    2.打印机硬件可以设置?
    livesw  ,你用硬件设置 自定义页面大小后, 打印机打完一张 后,是自动走到你设定的页面高度停吗?
      

  14.   

    livesw ,这个我已经量了,然后设置打印机自定义格式 11*22
    因为目前手上没有11*22的发票卷纸,我就用a4的纸做了试验,结果如下:
    打印区域确实是 11*22,不过打印区域集中在a4纸中间,出纸也是整a4的高度,而不是11cm请问livesw ,如果我用11*22的发票卷纸,处纸应该是11cm吗
      

  15.   

    自己先回答自己一下吧,我测试的打印机不支持 自定义分页,所以出全纸
    在网上找说 ,一般的激光打印机不支持自定义分页的,针式打印机 可以的(不过还没有试验)不过对于livesw 和nihongyuan  提供的activex控件,每个客户端都要手动设置 自定义格式 11*22 ,确实有点麻烦。
      

  16.   


       用windows自带的打印功能无法控制走纸情况,如果非要控制走纸情况,建议有二:
        一:用C、C++或者VB等开发语言开发Activex控件,去给打印机定义纸张大小,并设置打印默认纸张大小为定义的。我曾经尝试过用C#开发activex控件。也成功了。可不幸的是。用C#开发的activex控件,必须安装.net framework,试想如果客户为了用这个打印功能,还要安装.net  framework。客户会爽吗?所以开发active控件时,不要使用c#语言。   二:如果能力不够,可以考虑购买第三方打印控件。
        这个控件有免费版:jatoolsPrinter
       另外很多人说ScriptX控件也可以,其实不然,因为它无法设置纸张的具体大小。只能指定打印时使用纸张类型为A3,A4等等。并不能直接指定打印的宽和高。。
       另外四方城的打印控件也可以使用。不过是收费的。试用版会在打印页面上多一行四方城的广告语。
        这些打印控件都是acitvex控件。
      

  17.   

    pt1314917 ,你好,看到你以前的问题,所以把你请过来,呵呵
    自己也碰到类似的问题谢谢你提供的意见,不过好像还是没有办法解决 ,看来目前问题还是 集中在用 activex控件做
    jatoolsPrinter 的免费版本,只能在localhost上使用,正式版本还是要money的
    ScriptX 无法控制走纸,好像只能每个客户端自己手动 去改打印机配置(这个我还没有条件去测试,要针式打印机才支持自定义页面)我想问下,pt1314917 ,以前你碰到的走纸问题是如何解决了,我也到这一步了。
      

  18.   


    后来是打算购买四方城的软件的,因为用它的试用版是可以的。。
    不过最后因为客户说统一使用喷墨打印机,不需要使用针式打印机了。所以这个就不需要控制走纸了。
    白忙乎了一个多星期
    另jatoolsPrinter 的免费版本可以在正式上使用的。 
    只是不能在win2003下使用。 。
    ScriptX不行。只能设置纸张,而不能给在代码里面给打印机增加纸张类型。。
    还是需要客户先给打印机增加一个纸张类型后,然后scriptx才能使用到这个纸张类型。所以无意义。。
      

  19.   

    这个问题是比较麻烦,如果客户比较固定,又比较好说话的话。
    就让客户在打印机服务器属性里面创建新格式,定义大小,然后打印时,选择这个纸张类型。就行了。。
    要不然的话。只有按照上面那些方法来了。其实可以尝试的开发一下activex控件,难到不难。。直接调用API函数去设置就行了。只是俺C和C++都忘干净了。VB的语法也不记得了。所以做不了
      

  20.   

    多谢pt1314917 ,目前只有 从客户 好说话 来下手了(顾客还算比较固定)
    自己也汗颜,老是在web上混,惭愧,只能用拿来主意
      

  21.   

    你的问题也是大家普遍遇到的问题。我是自己公司里用的需求很简单,vb写一个web页面提取sql上数据写入本机EXCEL文件,格式在EXCEL里设就行。
      

  22.   

    走纸让EXCEL去控制吧,页面设置-纸张大小-信封 DL 110*220 毫米
      

  23.   

    CS下套打还是很容易,BS下搞.net确实要装framwork不爽。我就是把我的金质打印通做成控件,在web中用win控件做网页套打
      

  24.   

    可以用GDI+ 和asp.net去实现