以文本方式查看主题

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

--  作者:KWK001
--  发布时间:2020/5/2 10:01:00
--  [求助] 专业报表打印图片

专业报表打印图片时,加上页码,如图片效果,怎么设置呢?试了很多次没有成功。请大家看看呢?

在1张A5的纸上,横向打印,每张4个图片,每个图片上标上第几张。
如第1张A4 纸上的图片标上第1张、第2张、第3张、第4张
如第2张A4 纸上的图片标上第5张、第6张、第7张、第8张
依次类推



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

\'\'\'
Dim doc1 As New PrintDoc \'定义一个报表对象
doc1.PageSetting.PaperKind = 11  \'纸张类型改为A5
Doc1.PageSetting.LeftMargin = 5  \'设置左边距
Doc1.PageSetting.RightMargin = 0  \'设置右边距
Doc1.PageSetting.TopMargin = 3  \'设置上边距
Doc1.PageSetting.BottomMargin = 0  \'设置下边距

Doc1.Columns.Add() \'增加2栏
Doc1.Columns.Add()

Dim s As Integer= val(e.form.controls("textbox7").text)
For i As Integer = 1 To s


    Dim ro As New prt.RenderImage \'定义一个图片对象
    ro.Image = GetImage(ProjectPath & "\\Images\\临时_page1.jpg" ) \'设置图片
    ro.Style.Spacing.Bottom = 10  \'设置下间隔为3毫米
    ro.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'避免垂直换页的时候,表格被分割成两部分。
    ro.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center \'图片水平居中
    ro.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center \'图片垂直居中
    ro.Style.ImageAlign.StretchHorz = False \'禁止水平方向扩展图片
    ro.Style.ImageAlign.StretchVert = False \'禁止垂直方向扩展图片
    不知道怎么写?水印又不行?
    doc1.Body.Children.Add(ro) \'将图片对象加入报表
    doc1.PageSetting.Landscape = True \'横向打印

    
Next

Dim r1 As WinForm.RadioButton = e.Form.Controls("RadioButton1")
Dim r2 As WinForm.RadioButton = e.Form.Controls("RadioButton2")
If r1.Checked=True Then
    
    doc1.Preview(True) \'自带预览
Else
    If r2.Checked=True Then
        Doc1.Print()
    Else
        MessageBox.Show("请选择预览或者直接打印!")
    End If
End If

[此贴子已经被作者于2020/5/2 10:11:56编辑过]

--  作者:有点酸
--  发布时间:2020/5/2 10:40:00
--  
例如:

Dim doc1 As New PrintDoc \'定义一个报表对象
Doc1.Columns.Add() \'增加2栏
Doc1.Columns.Add()
For i As Integer = 1 To 8
    Dim ro As New prt.RenderImage \'定义一个图片对象
    ro.Image = GetImage("EP1.bmp") \'设置图片
    doc1.Body.Children.Add(ro) \'将图片对象加入报表
    Dim rt As New prt.RenderText \'定义一个文本对象
    rt.Text = "第" & i & "页" \'设置文本对象的内容
    rt.y = "prev.bottom - 10"
    rt.x = "prev.right - 10"
    rt.Style.TextColor = Color.red
    Doc1.body.Children.Add(rt)
Next
Doc1.preview


--  作者:有点酸
--  发布时间:2020/5/2 10:40:00
--  
http://www.foxtable.com/webhelp/topics/1177.htm