以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  打印预览的页边距如何调整?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=15714)

--  作者:数据包
--  发布时间:2012/1/7 23:50:00
--  打印预览的页边距如何调整?

一直有一个问题困扰我,就是打印预览的页边距如何调整?以下是我的代码!谢谢!

Dim doc As New PrintDoc \'定义一个报表
Dim rt As New prt.RenderText \'定义一个文本对象
rt.Text = e.Form.Controls("TextBox1").Value  \'设置文本对象的内容
rt.Style.TextColor = Color.black \'字符颜色设为红色
rt.Style.Font = New Font("宋体", 80, FontStyle.Bold)
rt.Style.TextAngle = -90 \'顺时钟旋转90度
e.Form.Page.LeftMargin = 30 \'设置左边距
e.Form.Page.RightMargin = 10 \'设置右边距
e.Form.Page.TopMargin = 20 \'设置上边距
e.Form.Page.BottomMargin = 20 \'设置下边距
doc.Body.Children.Add(rt) \'将文本对象加入到报表
doc.Preview() \'预览


--  作者:数据包
--  发布时间:2012/1/7 23:52:00
--  
以上代码中我已经将左边距调整为30了,但是还是不行,预览出来左边距只有默认的25
--  作者:数据包
--  发布时间:2012/1/8 0:02:00
--  

求助专家!谢谢


--  作者:飞
--  发布时间:2012/1/8 22:35:00
--  
pagesetting
--  作者:狐狸爸爸
--  发布时间:2012/1/9 7:51:00
--  

你用的是专业报表:
Dim doc As New PrintDoc \'定义一个报表
 
页面设置却是针对窗口:
e.Form.Page.LeftMargin = 30 \'设置左边距

如果有效,那就怪了。
 
窗口的页面设置应该这样: 
http://www.foxtable.com/help/topics/1602.htm


 
专业报表的页面设置:
http://www.foxtable.com/help/topics/1192.htm

[此贴子已经被作者于2012-1-9 7:52:04编辑过]

--  作者:数据包
--  发布时间:2012/1/10 20:06:00
--  

问题已经解决了

我已经更换了代码

e.Form.Page.LeftMargin = 35 \'设置左边距
e.Form.Page.RightMargin = 20 \'设置右边距
e.Form.Page.TopMargin = 20 \'设置上边距
e.Form.Page.BottomMargin = 20 \'设置下边距
e.Form.Page.Width = 220 \'纸张宽度为100毫米
e.Form.Page.Height = 90 \'纸张高度为120毫米
Dim doc As PrintDoc = e.Form.GernatePrintDoc()
doc.Preview()

但是新的问题来了,打印时它总是竖着打印出来,我怎么才能将它调到横着出来?谢谢


--  作者:数据包
--  发布时间:2012/1/10 20:08:00
--  

 也加了一行e.Form.Page.Landscape = True,但是没有效果


--  作者:狐狸爸爸
--  发布时间:2012/1/11 9:42:00
--  

http://www.foxtable.com/help/topics/1603.htm

 


--  作者:数据包
--  发布时间:2012/1/14 19:19:00
--  

还是不行,打印时系统总是根据页面自动旋转,如果是A4纸张,它就横着打印出来,只要把它页面调整到200mm*90mm,打印时就自动纵向打印出来了,调整页面设置和使用代码的方式都使用了,但是就是不行。求助专家!谢谢!万份感谢!!


--  作者:数据包
--  发布时间:2012/1/14 19:25:00
--  

e.Form.Page.Width = 220
e.Form.Page.Height = 90

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
doc.AutoRotate = False \'禁止自动旋转打印内容
doc.Print()

我也试了,在其他打印机上是可以的,但是在票据打印机上就是不行!以下是代码

 

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
Doc.PrinterName = "EPSON LQ-730K ESC/P2"

doc.AutoRotate = False \'禁止自动旋转打印内容
doc.Preview()