以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 专业报表打印标签的方向问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=38693) |
-- 作者:whoami2012 -- 发布时间:2013/8/4 17:28:00 -- 专业报表打印标签的方向问题 标签预览正常(预览的效果就是最终想要的),但打印后与标签呈90度角,且横跨两个标签 代码: Dim doc As New PrintDoc \'定义一个新报表 doc.PageSetting.Height = 32 \'标签纸高 doc.PageSetting.Width = 52 \'标签纸宽 doc.PageSetting.Landscape = True ‘调整过 doc.PageSetting.LeftMargin = 1 \'设置左边距 doc.PageSetting.RightMargin = 1 \'设置右边距 doc.PageSetting.TopMargin = 1 \'设置上边距 doc.PageSetting.BottomMargin = 1 \'设置下边距 doc.AutoRotate = False \'调整过 Dim rx As prt.RenderText Dim rm As prt.RenderEmpty \'定一个空对象 rm = new prt.RenderEmpty \'定义一个新的空对象 rm.BreakBefore = prt.BreakEnum.Page \'打印前换页 doc.Body.Children.Add(rm) \'加入到报表中 rx = New prt.RenderText rx.Text = "同协制造" rx.Style.Font = New Font("黑体",14) rx.X = 2 rx.Y = 3 Doc.Body.Children.Add(rx) rx = New prt.RenderText rx.Text = " No:513070001" rx.Style.Font = New Font("宋体",12) rx.X = 2 rx.Y = 9 Doc.Body.Children.Add(rx) rx = New prt.RenderText rx.Text = "用户:用户姓名" rx.Style.Font = New Font("宋体",12) rx.X = 2 rx.Y = 14 Doc.Body.Children.Add(rx) rx = New prt.RenderText rx.Text = "衣柜" rx.Style.Font = New Font("宋体",12) rx.X = 2 rx.Y = 22 Doc.Body.Children.Add(rx) doc.Preview() [此贴子已经被作者于2013-8-4 17:29:12编辑过]
|
-- 作者:程兴刚 -- 发布时间:2013/8/4 19:06:00 -- 把:doc.AutoRotate = False 上移到代码的第二行试试:
Dim doc As New PrintDoc \'定义一个新报表
doc.AutoRotate = False
……
|
-- 作者:有点甜 -- 发布时间:2013/8/4 19:25:00 -- doc.AutoRotate = False 涉及到硬件问题,的稳定性不太好。 如果你是在预览窗口点的打印,应该就是不旋转的;如果你是直接print的话,可能会不旋转。
|
-- 作者:程兴刚 -- 发布时间:2013/8/5 13:40:00 -- 我的理解不一样:
1、当定义完一个报表,首先要禁止自动旋转,然后再定义报表宽、高度; 2、相反,如果先定义了报表宽、高度,当报表宽度大于报表高度时,代码执行到这里就已经自动旋转了,在后续的代码再用doc.AutoRotate = False 来禁止自动旋转时,实际报表已经自动旋转了,后面的禁止是在当前的报表(已经旋转后的基础上)形成的,所以,这个禁止将无效; 3、由于预览不涉及到硬件,故:预览没有问题,而在打印机驱动程序中执行会出现错误。 |
-- 作者:whoami2012 -- 发布时间:2013/8/19 21:42:00 -- 谢谢大家的指导! 今天试了调整代码,仍然和原来一样的结果:打印预览正常,打印出来的文字与预览相比,还是转了90度(标签纸的方向与预览是一样的)。 报表内容宽、高度好像也没走出报表尺寸,自动旋转会起作用吗?求解
|
-- 作者:有点甜 -- 发布时间:2013/8/19 21:55:00 -- 以下是引用whoami2012在2013-8-19 21:42:00的发言: 谢谢大家的指导! 今天试了调整代码,仍然和原来一样的结果:打印预览正常,打印出来的文字与预览相比,还是转了90度(标签纸的方向与预览是一样的)。 报表内容宽、高度好像也没走出报表尺寸,自动旋转会起作用吗?求解
直接设置打印机成横向打印看是否可以吧。
|
-- 作者:菲舍尔 -- 发布时间:2013/8/20 2:37:00 -- 在c1控件中
doc.PageSetting.Landscape = True 和 doc.AutoRotate = False
全部是即时生效的属性,即设置后,即时引发调整页面属性的方法或函数
你只设一个属性试试,不要两个同时设置
|
-- 作者:狐狸爸爸 -- 发布时间:2013/8/20 8:27:00 -- 1、doc.PageSetting.Landscape = True 和 doc.AutoRotate = False 只设置一个 2、不要预览,直接打印 3、只设置页面宽度,不设置高度看看。 |
-- 作者:coch2004 -- 发布时间:2013/12/9 12:40:00 -- 顶贴一下,我也打印机是tsc ttp-245 plus 也遇到同样无法解决的问题,怎么处理? |
-- 作者:baoxyang -- 发布时间:2013/12/9 12:59:00 -- 要在打印机服务器设置打印标签的实际纸张大小,在打印机设置纸张类型中选中自定义的纸张大小。在代码设置旋转无效。 |