以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  专业报表批量打印求助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158024)

--  作者:zsxx999ja
--  发布时间:2020/11/5 11:54:00
--  专业报表批量打印求助

For  Each File  As  String In FileSys.GetFiles("D:\\蒋安\\蒋安个人资料\\督导组财务\\ddzcw2020\\ddzcw\\Attachments")
Dim tpm As String = File.SubString(File.LastIndexOf("\\")+1)
\'
Dim doc As New PrintDoc \'定义一个报表
\'====定义文本对象======
Dim rs As New prt.RenderText \'定义一个文本对象
rs.Text = "龙台片区督导组出差凭证(截图)" \'设置文本对象的内容
rs.Style.TextColor = Color.Red \'字符颜色设为红色
rs.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
rs.Style.Font = New Font("宋体", 20, FontStyle.Bold) \'\'字符大小及类别
rs.Style.Spacing.Bottom = 3   \'以象之间的间距
doc.Body.Children.Add(rs)
\'====定义表格对象======
Dim rt As New prt.RenderTable() \'定义一个表格对象
Dim rm As New prt.RenderImage() \'定义一个图片对象
rm.Image = GetImage(tpm) \'请改为实际的图标名称和路径
rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center \'图片水平居中
rm.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center \'图片垂直居中
rm.Style.ImageAlign.StretchHorz = True \'禁止水平方向扩展图片
rm.Style.ImageAlign.StretchVert = False \'禁止垂直方向扩展图片
rm.Width = 170
rm.Height = 60
doc.Body.Children.Add(rt) \'将表格对象加入到报表中
rt.Style.GridLines.All = New prt.Linedef(Color.DarkGray) \'将表格的颜色设为深灰色
rt.Rows.Count = 0 \'设置行数
rt.Cols.Count = 0 \'设置列数
rt.Width = 170 \'设置表格的宽度
rt.Height = 60\'设置表格的高度
rt.Cells(0,0).RenderObject = rm \'将单元格内容设置为图片对象rm
\'====定义文本对象2======
Dim rs2 As New prt.RenderText \'定义一个文本对象
rs2.Text = "报账人:蒋安" \'设置文本对象的内容
rs2.Style.TextColor = Color.Red \'字符颜色设为红色
rs2.Style.TextAlignHorz = prt.AlignHorzEnum.right \'水平居中
rs2.Style.Font = New Font("宋体",10 , FontStyle.Bold) \'
rs2.Style.Spacing.Top = 3
doc.Body.Children.Add(rs2)
Doc.Preview() \'预览报表

Next


--  作者:有点蓝
--  发布时间:2020/11/5 11:57:00
--  
没看懂,要解决的是什么问题?
--  作者:zsxx999ja
--  发布时间:2020/11/5 12:05:00
--  

上面的代码是正确的,完全可以打印,但有两个问题没有解决:

1、需要的样子如图,每页两个,但图是变化的

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

2、每页只能打印一个,如何在一页上打印两个这样的报表如何办?

3、文本1与文本2都是不变的,但图片是变化的,如何控制

 

 


--  作者:有点蓝
--  发布时间:2020/11/5 13:41:00
--  
参考:http://www.foxtable.com/webhelp/topics/0225.htm

dim Files  As  List(of String) = FileSys.GetFiles("D:\\蒋安\\蒋安个人资料\\督导组财务\\ddzcw2020\\ddzcw\\Attachments")
for i as integer = 0 to Files.count - 1 step 2
Dim doc As New PrintDoc \'定义一个报表

dim f1 as string = Files(i)
第一个文件的代码
doc.Body.Children.Add(rs2)

f1 = Files(i+1)
第二个文件的代码
doc.Body.Children.Add(rs2)

Doc.Preview() \'预览报表

Next


--  作者:zsxx999ja
--  发布时间:2020/11/6 9:37:00
--  


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

 

2楼的第一句代码通不过。后来我加上new,

dim Files  As New List(of String) = FileSys.GetFiles("D:\\蒋安\\蒋安个人资料\\督导组财务\\ddzcw2020\\ddzcw\\Attachments")

仍然通不过

[此贴子已经被作者于2020/11/6 9:38:19编辑过]

--  作者:有点蓝
--  发布时间:2020/11/6 9:41:00
--  
dim Files  As object = FileSys.GetFiles(......
--  作者:zsxx999ja
--  发布时间:2020/11/6 10:25:00
--  

成功了,谢谢!