郁闷了我好几天的ActiveReport问题!

wumylove1234 2004-09-15 08:44:19
有人在AR下试过自定义纸张大小的吗?
我现在遇到问题,怎么设置都不对.我的代码如下!
'***************************************************************
' 配置打印单据时候的AR设置
'***************************************************************
Public Sub ConfigBillAR(ByRef AR As arBill)
Dim newBillConfig As New clsBillIni '读边距的配置文件
AR.PageSettings.PaperSize = 256
If newBillConfig.GetOrientation = "H" Then
AR.PageSettings.Orientation = ddOLandscape
AR.PageSettings.PaperWidth = 14118
AR.PageSettings.PaperHeight = 7541
Else
AR.PageSettings.Orientation = ddOPortrait
AR.PageSettings.PaperWidth = 7541
AR.PageSettings.PaperHeight = 14118
End If
AR.PageSettings.LeftMargin = newBillConfig.GetLeftMargin * 56.7
AR.PageSettings.RightMargin = newBillConfig.GetRightMargin * 56.7
AR.PageSettings.TopMargin = newBillConfig.GetTopMargin * 56.7
AR.PageSettings.BottomMargin = newBillConfig.GetBottomMargin * 56.7
Set newBillConfig = Nothing
End Sub

在报表那边有一份设置,就是用File菜单设置的,设的横打.
我现在的情况是:

打印的内容很宽,而实际的纸也很宽.那我应该是设横打还是纵打?
还有,AR的自定义纸型在2K下是否有和Printer一样的问题?
如果我dim myAr as new BillAr
然后设置myAR的纸型等等,是否会优先于在File菜单中的设置!
...全文
305 点赞 收藏 40
写回复
40 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ebw_ren 2004-09-21
这种打票据的真麻烦
回复
ebw_ren 2004-09-21
我现在通过API,向里面加了一个自定义的(打印服务器里),然后取到了它的编号,也就是可以用在PageSize上的,但是,我测试发现,不起做用,然后我列举了所有的可用Pagesize(系统的),发现在已有的100多种PageSize中,只有前68种是可以设置的!我真是郁闷死了!可怎么办啊?

我用程序加的自定义纸型,在水晶报表里用程序不能更改(是不是我方法不对?),只能更改成系统自带的,后来没办法,用户打印的时候调出打印机设置的窗口,里面可以设置纸型的,没办法,只有这个办法了,在用户第一次设了纸型后,只要程序不关掉,就不用在设置了。我现在这个的走纸很正常呀,也是连续走纸的那种针式打印机。
回复
paradise885 2004-09-21
up!
回复
wumylove1234 2004-09-21
唉.没有办法.不过如果迫使用户去用哪种方法,其实真是下策,我现在已经可以:
1添加自定义纸型
2调自自定义纸型.
3设置横向纵向.

上面的有些出入,这个自定义纸型要看打印机是否支持.现在问题基本解决,就差在AR这个问题上,正在解决中.不过纵打好用了,也许就这么用了.因为票据打印一般都用纵打.

稍后发我所有代码.各位稍等,顶顶也好.呵呵.
回复
wumylove1234 2004-09-17
果然和我测试的是一样的:
Dim I As Long
For I = 0 To ActiveReport1.Printer.PaperSizes.Count - 1
ActiveReport1.Printer.PaperSize = ActiveReport1.Printer.PaperSizes(I)
Debug.Print ActiveReport1.Printer.PaperSizes(I) & " - " & _
ActiveReport1.Printer.PaperWidth & " twips X " & _
ActiveReport1.Printer.PaperHeight & " twips "
Next I

1 - 12240 twips X 15840 twips
2 - 12240 twips X 15840 twips
3 - 15840 twips X 24480 twips
4 - 15840 twips X 24480 twips
5 - 12240 twips X 20160 twips
6 - 7920 twips X 12240 twips
7 - 10440 twips X 15120 twips
8 - 16840 twips X 23808 twips
9 - 11904 twips X 16840 twips
10 - 11904 twips X 16840 twips
11 - 8392 twips X 11904 twips
12 - 14568 twips X 20640 twips
13 - 10320 twips X 14568 twips
14 - 12240 twips X 18720 twips
15 - 12192 twips X 15592 twips
16 - 14400 twips X 20160 twips
17 - 15840 twips X 24480 twips
18 - 12240 twips X 15840 twips
19 - 5584 twips X 12784 twips
20 - 5944 twips X 13680 twips
21 - 6480 twips X 14944 twips
22 - 6840 twips X 15840 twips
23 - 7200 twips X 16560 twips
24 - 24480 twips X 31680 twips
25 - 31680 twips X 48960 twips
26 - 48960 twips X 63360 twips
27 - 6240 twips X 12472 twips
28 - 9184 twips X 12984 twips
29 - 18368 twips X 25968 twips
30 - 12984 twips X 18368 twips
31 - 6464 twips X 9184 twips
32 - 6464 twips X 12984 twips
33 - 14176 twips X 20016 twips
34 - 9976 twips X 14176 twips
35 - 7088 twips X 9976 twips
36 - 6240 twips X 13040 twips
37 - 5584 twips X 10800 twips
38 - 5224 twips X 9360 twips
39 - 15840 twips X 21424 twips
40 - 12240 twips X 17280 twips
41 - 12240 twips X 18720 twips
42 - 14176 twips X 20016 twips
43 - 5672 twips X 8392 twips
44 - 12960 twips X 15840 twips
45 - 14400 twips X 15840 twips
46 - 15840 twips X 21600 twips
47 - 12472 twips X 12472 twips
50 - 13680 twips X 17280 twips
51 - 13680 twips X 21600 twips
52 - 16832 twips X 25920 twips
53 - 13352 twips X 18272 twips
54 - 12240 twips X 15840 twips
55 - 11904 twips X 16840 twips
56 - 13680 twips X 17280 twips
57 - 12872 twips X 20184 twips
58 - 17288 twips X 27608 twips
59 - 12240 twips X 18272 twips
60 - 11904 twips X 18712 twips
61 - 8392 twips X 11904 twips
62 - 10320 twips X 14568 twips
63 - 18256 twips X 25232 twips
64 - 9864 twips X 13320 twips
65 - 11392 twips X 15648 twips
66 - 23808 twips X 33672 twips
67 - 16840 twips X 23808 twips
68 - 18256 twips X 25232 twips
256 - 0 twips X 0 twips
300 - 0 twips X 0 twips

只有前68种是可以用的!
回复
wumylove1234 2004-09-17
今天真的是无计可施了.郁闷的要死!
回复
wumylove1234 2004-09-17
我是这么解决的
在打印机的文件--服务器属性: 添加自定义纸型
在打印机的属性设置中:
常规:打印首选项--纸张/质量:牵引送纸
高级--纸张大小:自定义得纸型
高级:打印机的默认设置中相应的也要修改
设备设置:牵引送纸:自定义得纸型
看看打印机的各项属性,都改对就可以了

如果用程序的话,就是用API更改打印机的默认纸型,这样应该可以了.不过我按例子的,用Printer的可以了,可是用AR的,我试了半天也不行.
明天你有时间的话,MSN上聊聊好吧?希望明天你会在.
回复
atlcat 2004-09-17
up
回复
wumylove1234 2004-09-17
我现在通过API,向里面加了一个自定义的(打印服务器里),然后取到了它的编号,也就是可以用在PageSize上的,但是,我测试发现,不起做用,然后我列举了所有的可用Pagesize(系统的),发现在已有的100多种PageSize中,只有前68种是可以设置的!我真是郁闷死了!可怎么办啊?
回复
wumylove1234 2004-09-17
晕......
用AR做预览....
不过现在也不能确定Printer好不好用呢.不过看外国网站论坛里的意思,似乎这个问题可以解决!
回复
icedut 2004-09-17
如果你用Printer可以实现
那就用Printer打印好了
用AR作预览,屏蔽AR上的打印
再加一个打印按钮,里面写着printer的打印方法,不就OK了么
回复
wumylove1234 2004-09-17
现在又想到一种办法,我试了,如果可以让用户去改报表的话(AR也自设计器),这样如果用户将报表的纸型更改的话,然后在程序中,再装载这个修改后的报表,是一样可行的.不过我这个报表窗体后台有代码.......

哪位搞过啊?
回复
wumylove1234 2004-09-17
高手都哪去了?带****的,出来看看啊!
回复
wumylove1234 2004-09-17
源码就是上边的MS站点上的.
现在我只能想办法将我增加的纸型设成默认的,打完之后再设回去.可是按照上边的源码,只能设Printer对象的,我不知道如何使这个默认设置被AR所使用.所以我就想办法把系统的默认设置改掉.不过我正在看.有哪位有经验啊?
回复
ebw_ren 2004-09-17
我现在通过API,向里面加了一个自定义的(打印服务器里),然后取到了它的编号,也就是可以用在PageSize上的,但是,我测试发现,不起做用,然后我列举了所有的可用Pagesize(系统的),发现在已有的100多种PageSize中,只有前68种是可以设置的!我真是郁闷死了!可怎么办啊?


有api加的原码吗?
回复
wumylove1234 2004-09-17
UP
!
回复
wumylove1234 2004-09-17
http://www.datadynamics.com/


icedut(冰)

原来不光是国内有这个问题哈~~我去了主页,里面有知识库和论坛里.

你有时间也看一下,论坛里搜了一下Custom,有100多页~汗!!但是人家的解决办法好像都很简单,没有调API的,不过我看了两页了,还没有找到答案,现在没有打印机,外国佬 说可以设Printer.DeviceName="".明天我要试试.呵!
回复
lycey 2004-09-17
关注
回复
wumylove1234 2004-09-16
要手动改这么多?
还有,我看了,AR会自动在打印服务器属性里面添加一个纸型的.不用手工添.
如果要改打印机默认属性,那这个问题相当于白问了吧.!!
回复
icedut 2004-09-16
w2000
我这里的报表使用active report作的

打印是连续走纸

我是这么解决的
在打印机的文件--服务器属性: 添加自定义纸型
在打印机的属性设置中:
常规:打印首选项--纸张/质量:牵引送纸
高级--纸张大小:自定义得纸型
高级:打印机的默认设置中相应的也要修改
设备设置:牵引送纸:自定义得纸型
看看打印机的各项属性,都改对就可以了
回复
加载更多回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2004-09-15 08:44
社区公告
暂无公告