以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]套打时,横向进纸  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=134208)

--  作者:天一生水
--  发布时间:2019/4/29 21:01:00
--  [求助]套打时,横向进纸
编写的代码是按照A4竖向,预览是这样的:

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

由于待打印的封皮左侧(装订侧)是折叠的,和右侧相比,要厚一些。因此,想把封皮展开后横向进纸,如下图的方向放入打印机:

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

-----------------------------
文字的定位代码是按照A4竖向编制的:

                    Dim doc As New PrintDoc \'定义一个报表
                    doc.PageSetting.Width = 210 \'纸张宽度为100毫米
                    doc.PageSetting.Height = 297 \'纸张高度为120毫米
                    Dim rx As prt.RenderText \'定义一个文本对象
                    Doc.PrinterName = e.Form.Controls("TextBox1").text  \'打印机名称
                    
                    Dim rep As New prt.RenderEmpty \'定义一个新的空对象
                    rep.BreakBefore = prt.BreakEnum.Page \'打印前换页
                    doc.Body.Children.Add(rep ) \'加入到报表中
                    
                    rx = new prt.RenderText
                    rx.Text = CurRow("审级")
                    rx.Style.Font = New Font("宋体", 20, FontStyle.Regular)
                    rx.x = 112 + x \'设置坐标的时候,注意加上偏移参数
                    rx.y = 62 + y
                    doc.body.Children.Add(rx)
                    
                    rx = new prt.RenderText
                    rx.Text = CurRow("案号_年份尾数")
                    rx.Style.Font = New Font("宋体", 15, FontStyle.Regular)
                    rx.x = 80 + x \'设置坐标的时候,注意加上偏移参数
                    rx.y = 86 + y
                    doc.body.Children.Add(rx)
                    .................

我试过这两句代码,但是不行:
doc.PageSetting.Landscape = True \'横向打印
rt.Style.TextAngle = -270 \'顺时钟旋转度

因此,请老师指教,这种情况如何处理,谢谢!



[此贴子已经被作者于2019/5/1 8:45:24编辑过]

--  作者:有点蓝
--  发布时间:2019/4/29 21:10:00
--  
做不到这样的
--  作者:有点甜
--  发布时间:2019/4/30 10:17:00
--  

旋转绝对是可以的,请认真测试

 

http://www.foxtable.com/webhelp/scr/1168.htm

 


--  作者:天一生水
--  发布时间:2019/4/30 15:12:00
--  

谢谢甜老师!

经测试,存在两个问题:

1、旋转后的定位:

x-左边距;

y-上边距。

如果能定位下边距才行(相当于竖向的左边距),见下图。

2、两处文字块的代码为什么不能同时运行?

 

Dim doc As New PrintDoc \'定义一个报表
doc.PageSetting.Width = 297 \'纸张宽度为100毫米
doc.PageSetting.Height = 210 \'纸张高度为120毫米
\'Dim rt As prt.RenderText \'定义一个文本对象

 

Dim rep As New prt.RenderEmpty \'定义一个新的空对象
rep.BreakBefore = prt.BreakEnum.Page \'打印前换页
doc.Body.Children.Add(rep) \'加入到报表中

 

Dim rt As New prt.RenderText \'定义一个文本对象
rt.Text = "新华网绵阳5月16日电(记者孙承斌)16日上午,在四川抗震救灾的"     \'设置文本对象的内容
rt.Style.TextColor = Color.Red \'字符颜色设为红色
rt.Style.TextAngle = -270 \'顺时钟旋转45度
rt.Height = 100  \'宽度------打印宽度,自动换行
rt.Style.Font = New Font("宋体", 20, FontStyle.Regular)
rt.x = 100   \'左边距
rt.y = 20     \'上边距

 

\'rt As New prt.RenderText \'定义一个文本对象
\'rt.Text = "新华网绵阳5月16日电(记者孙承斌)16日上午,在四川抗震救灾的"     \'设置文本对象的内容
\'rt.Style.TextColor = Color.Red \'字符颜色设为红色
\'rt.Style.TextAngle = -270 \'顺时钟旋转45度
\'rt.Height = 100  \'宽度------打印宽度,自动换行
\'rt.Style.Font = New Font("宋体", 20, FontStyle.Regular)
\'rt.x = 200
\'rt.y = 40

 

doc.Body.Children.Add(rt) \'将文本对象加入到报表
doc.Preview() \'预览

 


图片点击可在新窗口打开查看此主题相关图片如下:截屏图片 (1).jpg
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2019/4/30 15:19:00
--  

1、你的位置的定位,自己根据实际需要填写对应的坐标。

 

2、rt = New prt.RenderText \'定义一个文本对象


--  作者:天一生水
--  发布时间:2019/4/30 17:49:00
--  
谢谢甜老师!
用如图的两句代码来定位竖向的起始位置=上边距+文字换行的长度

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