以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  PictureViewer 打印  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=103852)

--  作者:cuicuibing
--  发布时间:2017/7/18 16:33:00
--  PictureViewer 打印
Dim piv As WinForm.PictureViewer = e.Form.Controls("PictureViewer3")
If piv.SelectedItem IsNot Nothing Then
    Dim doc As New PrintDoc \'定义一个报表对象
    Dim rm As New prt.RenderImage \'定义一个图片对象
    rm.Image = getImage(piv.SelectedItem)
    rm.Style.Borders.All = New prt.Linedef(1, Color.Red) \'设置边框
    doc.Body.Children.Add(rm) \'将图片对象加入报表
    Doc.Preview() \'预览
End If


以上代码,没有图片显示。PictureViewer 是远程方式。

--  作者:有点甜
--  发布时间:2017/7/18 17:33:00
--  
Dim piv As WinForm.PictureViewer = e.Form.Controls("PictureViewer3")
If piv.SelectedItem IsNot Nothing Then
    Dim doc As New PrintDoc \'定义一个报表对象
    Dim rm As New prt.RenderImage \'定义一个图片对象
    piv.FTPclient.Download(piv.SelectedItem, ProjectPath & "temp.jpg", True)
    rm.Image = getImage(ProjectPath & "temp.jpg")
    rm.Style.Borders.All = New prt.Linedef(1, Color.Red) \'设置边框
    doc.Body.Children.Add(rm) \'将图片对象加入报表
    Doc.Preview() \'预览
End If

--  作者:cuicuibing
--  发布时间:2017/7/19 7:33:00
--  
版主,只能打一个图片的。如果PictureViewer有多个图片,如何一次打印出来。


--  作者:有点蓝
--  发布时间:2017/7/19 9:06:00
--  
PictureViewer是绑定单元格的,取对应单元格的图片,全部下载,然后加入报表


--  作者:cuicuibing
--  发布时间:2017/7/19 9:50:00
--  
这个综合体的版主我弄不了。你直接给个编码的例子。我看着例子修改下还是可以的。

能不能利用相对路径,获取本地计算机下载的图片。这样打印的时候,是不是速度快点。

另外,我的一张图片正好可以打印一张A4纸,这个如何设置。
[此贴子已经被作者于2017/7/19 9:53:07编辑过]

--  作者:有点蓝
--  发布时间:2017/7/19 9:58:00
--  
上传实例说明
--  作者:cuicuibing
--  发布时间:2017/7/19 10:12:00
--  
版主,我就一个PictureViewer,绑定表a,图纸列。  远程管理图片,图片会自动下载到foxtable软件的remotefiles的  产品   目录下面。
请教版主如何打印   表a,图纸列 ,里边的 jpg  文件,可能是单个,也可能是多个的。 

--  作者:有点蓝
--  发布时间:2017/7/19 10:43:00
--  
Dim piv As WinForm.PictureViewer = e.Form.Controls("PictureViewer1")
If Tables("表a").Current IsNot Nothing
    Dim doc As New PrintDoc \'定义一个报表对象
    For Each file As String In Tables("订单").Current.DataRow.Lines("图纸列")
        Dim rm As New prt.RenderImage \'定义一个图片对象
        piv.FTPclient.Download(file, ProjectPath & file.TrimStart("/"), True)
        rm.Image = getImage(ProjectPath & file.TrimStart("/"))
        rm.Style.Borders.All = New prt.Linedef(1, Color.Red) \'设置边框
        doc.Body.Children.Add(rm) \'将图片对象加入报表
    Next
    Doc.Preview() \'预览
End If