扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
别的地方转来的!~ 不过我们以前做的时候 都是在打印机里增加一种打印纸 然后就可以选了!~
成都创新互联专业为企业提供闵行网站建设、闵行做网站、闵行网站设计、闵行网站制作等企业网站建设、网页设计与制作、闵行企业网站模板建站服务,10余年闵行做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
一下转载内容!~~~
水晶报表-强大而成熟,但是多少男儿汉败倒在他的自定义纸张设置上。
1:水晶报表是纸形打印。所以自定义纸张类打印肯定要在电脑上增加对应的纸张才行(手动加还是代码加这个不管)
2:纸张分3种系统内建(不可更改),自定义,打印机自带。很遗憾的是水晶只认系统内建的。
3:打印机一般分2种。1普通喷墨的A4,2有联单的针式
4:注意水晶报表不是所见所得的,预览的纸张是什么不一定打印的就是什么纸张(受3方影响。打印机、报表内设置、PAPERSIZE 属性,三者之间关系不详)。
5:对于第一种A4纸张。没什么好说的系统内建纸型。水晶报表认。直接指定就行
6:对于第二种联单的自定义型一般专机专用,当然是建好纸张让打印机默认自己建的纸张为默认首选了。
7:然后设置水晶报表使用打印机默认的纸张PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize
以上能保证专机专纸的任何打印。:要注意第4点。如果你是自定义纸而且要预览要保障预览和打印都用指定的纸张,那么预览时你得指定PaperSize=你自定义纸张的索引号。打印的时候又改成CrystalDecisions.Shared.PaperSize.DefaultPaperSize
8:如果你想一个打印机多个自定义纸张那么用API吧动态改变打印机的默认纸张,根据以上拐2弯就能实现了遗憾的是网络打印机的话就没折了。o(︶︿︶)o 唉
Sub 连续打印()
rs = Sheets("合计金额").Cells(Rows.Count, 7).End(xlUp).Row
ar = Sheets("合计金额").Range("g1:g" rs)
For i = 2 To UBound(ar)
If Trim(ar(i, 1)) "" Then
With Sheets("表单列印")
.[j6] = ar(i, 1)
.PrintOut Copies:=1, Collate:=True, ActivePrinter:="\\PC-20180330UQSC\Fujitsu DPK720 在 Ne03:,PaperSize = 124"
End With
End If
Next i
End Sub
说明:每个机器定义的打印机和尺寸都不一样的,如果要知道如何自己的打印机和纸张,可以用录制新宏的方法,找到自己的打印机和尺寸编号。我公司的打印机设置是这样的:ActivePrinter:="\\PC-20180330UQSC\Fujitsu DPK720 在 Ne03:,PaperSize = 124"
共享打印机的电脑如果重装系统,那么要重新定义这段程序的打印机设置。
在装有共享打印机的那台电脑里,端口是USB001,之前改为Lpt1,结果打印出错。将端口改回来就好了。每个人的电脑不一样,都要按照实际情况来设置。PaperSize = 124,表明设置的打印纸张格式是【NFCP 窄行连续 240mm 二等分】格式。
至于为什么端口是Ne03,在注册表中展开路径为[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts],里面可以看到自己电脑打印机的端口。
打印做得不多,以前做套打时发现,每台打印机定位都不一样,于是每台机子都加了个偏移设置
我的做法在白纸上打上一标尺,和一个上下边距为2CM的交叉点,然后用标尺量这2CM的偏移,设置完后,在这台打印机打印时,就给纸张加个偏移量,打印就正常了。可能你的原因和我一样。
另外也想问你一下,你这个条码是用什么打的。早先,我用立象的条码打印机打不干胶,很简单,激光打没用过,可能下次我也要用条码打印,我也用VB.net。求教.
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流