以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:专业报表设计如何实现双面打印呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61231)

--  作者:李孝春
--  发布时间:2014/12/9 13:11:00
--  求助:专业报表设计如何实现双面打印呢?

下列代码在命令窗口中运行即可生成报表

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

求助如何实现对应表格框内的数据实现双面打 也就是说背面的数据和正面一样?

思路一:再次设计一个页面  但是怎么换行换页显示都没有实现设计一个对应的页面

思路二:直接将现在的页面实现双面打 注意正反面表格所对应的位置必须相同 

求助  代码怎么写!

谢谢各位老师!

 

代码

Dim doc As New PrintDoc \'定义一个报表
doc.PageSetting.PaperKind = 9  \'定义纸张为A4

\'Dim Currow As Row
\'Dim tbl As Table = Tables("卷宗封面")
\'For i As Integer = tbl.TopRow To tbl.BottomRow
\'CurRow = tbl.rows(i)

Dim ra As New prt.RenderArea \'定义一个文本对象
ra.Width = 130 \'对象宽度为163毫米
ra.Height = 130 \'对象高度为192毫米
Doc.PageSetting.TopMargin = 10 \'设置上边距
Doc.PageSetting.LeftMargin = 25 \'设置左边距
Doc.PageSetting.RightMargin=25
\'\'Doc.PageSetting.BottomMargin = 53 \'设置下边距
ra.Style.Borders.All = New prt.Linedef(1, Color.black)
Doc.Body.Children.Add(ra)

Dim rt2 As New prt.RenderTable() \'定义一个表格对象
rt2.Style.Borders.all = New prt.Linedef(0.1, Color.white, DashStyle.Dot)
rt2.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型
rt2.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt2.Style.TextAlignVert = prt.AlignVertEnum.Center
rt2.Cells(0,0).Style.Font = New Font("宋体", 28 , FontStyle.Bold) \'设置文本对象的字体
rt2.Cells(1,0).Style.Font = New Font("宋体", 20 , FontStyle.Bold) \'设置文本对象的字体
rt2.Style.Font = New Font("宋体", 16, FontStyle.Bold)
rt2.Cols.Count = 2 \'设置列数
rt2.Rows.Count = 8 \'设置行数
rt2.Height = "128" \'设置表格的高度
rt2.Width = "128" \'设置表格的宽度
rt2.Style.Padding.Top = 0.5 \'上边距25毫米
rt2.Style.Padding.Left = 0.5 \'左边距5毫米
rt2.Style.Padding.Right = 0.5 \'右边距5毫米
rt2.Style.Padding.Bottom= 0.5 \'左边距5毫米
rt2.Cols(0).Width = 30 \'设置列宽
rt2.Cells(0,0).SpanCols = 2
rt2.Cells(1,0).SpanCols = 2
rt2.Cells(0,0).Text="贵州省瓮安县人民检察院"

 

rt2.Cells(1,0).Text="贵州省瓮安县人民检察院"
rt2.Cells(2,0).Text="讯问时间:"
rt2.Cells(3,0).Text="讯问地点:"
rt2.Cells(4,0).Text="案件编号:"
rt2.Cells(5,0).Text="录制编号:"
rt2.Cells(6,0).Text="光盘编号:"
rt2.Cells(7,0).Text="录制人员:"
ra.Children.Add(rt2) \'将文本对象加入到报表

Dim rt3 As New prt.RenderTable() \'定义一个表格对象
rt3.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型
rt3.Rows.Count = 8 \'设置行数
rt3.Cols.Count = 4 \'设置列数
rt3.Height = "127" \'设置表格的高度
rt3.Width = "162" \'设置表格的宽度
rt3.Cells(0,1).Text="贵州省瓮安县人民检察院"
rt3.Cells(1,1).Text="贵州省瓮安县人民检察院"
rt3.Cells(2,1).Text="讯问时间:"
rt3.Cells(3,1).Text="讯问地点:"
rt3.Cells(4,1).Text="案件编号:"
rt3.Cells(5,1).Text="录制编号:"
rt3.Cells(6,1).Text="光盘编号:"
rt3.Cells(7,1).Text="录制人员:"
rt3.Cells(0,0).Text="贵州省瓮安县人民检察院"
rt3.Cells(0,0).Style.TextAngle = -360
rt3.Cells(0,3).Text="贵州省瓮安县人民检察院"
rt3.Cells(0,3).Style.TextAngle = -360
rt3.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt3.Style.TextAlignVert = prt.AlignVertEnum.Center
rt3.Style.Font = New Font("宋体", 16, FontStyle.Bold)
rt3.Cells(0,1).Style.Font = New Font("宋体", 23 , FontStyle.Bold) \'设置文本对象的字体
rt3.Cols(0).Width = 8 \'设置列宽
rt3.Cols(1).Width = 30
\'rt3.Cols(2).Width = 6
rt3.Cols(3).Width = 8
\'rt3.Style.Padding.Top = 5 \'上边距25毫米
\'rt3.Style.Padding.Right = 25 \'右边距5毫米
rt3.y = 142  \'表水平位置
rt3.Cells(0,1).SpanCols = 2
rt3.Cells(1,1).SpanCols = 2
rt3.Cells(0,0).SpanRows = 8
rt3.Cells(0,3).SpanRows = 8

 

doc.Body.Children.Add(rt3)

\'Next
doc.Preview() \'预览



--  作者:程兴刚
--  发布时间:2014/12/9 13:19:00
--  
在打印机属性修改后再打印,和代码无关!
--  作者:有点甜
--  发布时间:2014/12/9 14:57:00
--  

 双面打,代码无法控制。

 

 你设计一个打印正面的代码和一个打印背面的代码即可


--  作者:李孝春
--  发布时间:2014/12/9 16:10:00
--  回复:(有点甜) 双面打,代码无法控制。&nbs...
有点甜老师 怎么设计呢?
我原本计划是弄一个正面 在弄一个反面对应起来打印 
结果怎么弄也弄不到第二页和第一页一样
求教!

--  作者:李孝春
--  发布时间:2014/12/9 16:12:00
--  回复:(程兴刚)在打印机属性修改后再打印,和代码无...
程老师 那是否可以将现在所看见的作为第一页
然后重新设计第二页 在对应的位置内 然后逐步调试 进行双面打

但是现在问题出现 第一页我设计出来了 第二页我怎么也弄不成和第一页一样的设计

我怎么操作都只能在第二页出现第一页的第二个表

求教

--  作者:有点甜
--  发布时间:2014/12/9 16:24:00
--  
 不知道你想表达什么,什么第一页,第二页。代码基本一样啊
--  作者:李孝春
--  发布时间:2014/12/9 16:48:00
--  回复:(有点甜)?不知道你想表达什么,什么第一...
有点甜老师  麻烦你看看

代码附上

原理是一样的  但是就是不生成第二页 求助
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求助代码.txt

代码直接命令窗口运行  谢谢
[此贴子已经被作者于2014-12-9 16:47:59编辑过]

--  作者:有点甜
--  发布时间:2014/12/9 17:13:00
--  
 关键是,你想说什么?现在什么问题?你要什么效果?
--  作者:程兴刚
--  发布时间:2014/12/9 17:39:00
--  
就您的原报表代码,该换页时强制换页,打印机设置为双面打印即可! 如果您想打两个独立的报表打印到正反面,那就把他们合并到一个报表,两者间强制换页即可,基本和代码控制正反面没任何关系!
--  作者:李孝春
--  发布时间:2014/12/9 19:30:00
--  回复:(程兴刚)就您的原报表代码,该换页时强制换页...
程版 强制换页都么有效果  之前一直都在学习单页打印 没有操作过双页打印

强制换页 结果不显示了  琢磨了两天结果中午显示了一个表 当时没有保存 
现在怎么琢磨也不显示了  

求解!