以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]窗口打印纸张方向问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139468)

--  作者:wqc360
--  发布时间:2019/8/13 15:19:00
--  [求助]窗口打印纸张方向问题
各位前辈,我要用针式打印机进行打印票据,票据尺寸是220*93.3,我利用票据打印文件中的凭证窗口进行试验,滚动进纸器,当纸张设置成220*110时,打印时会自动监测到信封DL纸张,打印也能正常,一旦我把纸张设置成220*93.3(我有在打印机中添加了对应的纸张尺寸)时,打印出来的方向就变了,打印机把纸张认成是长条式进纸,不知要怎样处理
--  作者:有点蓝
--  发布时间:2019/8/13 15:24:00
--  
打印的内容超过了打印尺寸
1、把打印范围缩窄

--  作者:wqc360
--  发布时间:2019/8/13 21:54:00
--  
首先,感谢版主的回复
今天试了,还是不对
我的代码是
e.Form.Page.Width = 220
e.Form.Page.Height = 93.3
Dim doc As PrintDoc = e.Form.GernatePrintDoc()
doc.AutoRotate = False \'禁止自动旋转打印内容
doc.Print()
窗口是这样设计的:图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:打印1.jpg
图片点击可在新窗口打开查看
打印出来的效果是:图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:打印.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2019/8/13 22:13:00
--  
打印机添加一个220*93.3的纸张,设置为默认纸张。

试试
e.Form.Page.Width = 220
e.Form.Page.Height = 93.3
e.Form.Page.LeftMargin = 0\'设置左边距
e.Form.Page.RightMargin = 0\'设置右边距
e.Form.Page.TopMargin = 0\'设置上边距
e.Form.Page.BottomMargin = 0 \'设置下边距
Dim doc As PrintDoc = e.Form.GernatePrintDoc()
doc.AutoRotate = False \'禁止自动旋转打印内容
doc.Print()

--  作者:狐狸爸爸
--  发布时间:2019/8/14 8:33:00
--  
另不要在打印预览窗口打印,直接用print打印
--  作者:wqc360
--  发布时间:2019/8/14 11:42:00
--  
还是不行,预览和直接打印都不行,如果我打印机纸张设置是宽220*高110的综向默认纸张,窗口打印页面设置也是自定义纸张宽度220,高度110,纵向,可以正常打印,但是每次打印一张完了,就需要重新安装纸张,因为纸走了110,实际我的纸张尺寸是93.3,一旦把页面高度改成93.3,其他什么都不改,打印出来方向就转了90度了,可以用票据打印文件进行测试。求解怎样能高度是93.3时,也能正常打印。没有打印机是试不出效果的,请狐爸帮忙看看好吗,谢谢狐爸和蓝老师
--  作者:有点蓝
--  发布时间:2019/8/14 11:53:00
--  
打印机添加一个220*93.3的纸张,设置为默认纸张啊。
--  作者:wqc360
--  发布时间:2019/8/14 12:04:00
--  
打印机有添加220-93.3的纸张,默认用这个,打印就方向变了,不管页面还是纸张,只要其中有一个高度是93.3而不是110,方向马上就变,宽度的高度尺寸互换也试了,还是不行
--  作者:有点蓝
--  发布时间:2019/8/14 13:35:00
--  
是在电脑打印机属性里设置为默认纸张,不是默认用这个。

另外把窗口的内容缩窄测试

--  作者:wqc360
--  发布时间:2019/8/14 19:01:00
--  
终于搞定了,感谢蓝老师和狐爸的指导!
首先,打印机设置好纸张尺寸,并在打印机属性里面设为默认纸张,设计窗口,纸张用自定义,用标签在合适位置,打印按钮代码用蓝老师的,慢慢测试打印区域,多次车市1纸张尺寸精度并进行并进行调整打印机属性里面的纸张尺寸,同时修改代码尺寸,最后再把合适的区域一直到我做的项目中,测试通过。